Skocz do zawartości

Riot

Użytkownicy
  • Postów

    4
  • Dołączył

  • Ostatnia wizyta

Osiągnięcia Riot

Chicken

Chicken (1/13)

0

Reputacja

  1. Hmmm, wyszło mi coś takiego: GML { //================================================================================ =========================== if (mouse_check_button_pressed(mb_left)) { //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++ if ( global.inst ) { if ( not collision_point(mouse_x,mouse_y,global.inst,1,1) and global.inst.image_blend == c_green ) { global.inst.x=mouse_x-16; global.inst.y=mouse_y-32; global.inst.image_blend=c_white; global.inst=0; } if ( global.inst.image_blend == c_green and collision_point(mouse_x,mouse_y,global.inst,1,1) ) { global.inst.image_blend=c_white; global.inst=0; } } else if ( collision_point(mouse_x,mouse_y,instance_position(mouse_x,mouse_y,object0),1,1) ) { if ( instance_position(mouse_x,mouse_y,object0).image_blend == c_white ) { global.inst=instance_position(mouse_x,mouse_y,object0); global.inst.image_blend=c_green; } } //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++ } //================================================================================ =========================== } Może być?
  2. Chodzi ci o: GML if ( collision_point(mouse_x,mouse_y,global.inst,1,1) ) Czy o: GML if ( global.inst and global.inst.image_blend == c_green ) ? W każdym razie, mam na mapie obiekt który po utworzeniu ustawia global.inst na 0 właśnie. Czy to wystarczy?
  3. Dzięki za pomoc. Łącząc wasze odpowiedzi i dodają trochę od siebie stworzyłem takie coś: GML { if (mouse_check_button_pressed(mb_left)) { //================================================================================ =========================== if ( global.inst and not collision_point(mouse_x,mouse_y,global.inst,1,1) ) { if ( global.inst.image_blend == c_green ) { global.inst.x=mouse_x-16; global.inst.y=mouse_y-32; global.inst.image_blend=c_white; global.inst=0; } } //================================================================================ =========================== else //================================================================================ =========================== if ( collision_point(mouse_x,mouse_y,global.inst,1,1) ) { if ( global.inst and global.inst.image_blend == c_green ) { global.inst.image_blend=c_white; global.inst=0; } else if ( instance_position(mouse_x,mouse_y,object0).image_blend == c_white ) { global.inst=instance_position(mouse_x,mouse_y,object0) global.inst.image_blend=c_green; } } //================================================================================ =========================== } } I wygląda na to, że spełnia moje wymagania. Jeszcze raz dzięki.
  4. Chciałem zrobić tak, że jeśli kliknie się LPM na danej instancji to podświetla się ona na zielono. Potem, jeśli znów się na nią kliknie to się odświetla. A jeśli jest podświetlone i kliknie się gdzieś poza instancją, to ta się przenosi tam gdzie się kliknie. Kod: GML { var inst; inst=(100003); if (mouse_check_button_pressed(mb_left)) { //================================================================================ =========================== if ( ( mouse_x < inst.x ) || ( mouse_x > inst.x+32 ) || ( mouse_y < inst.y ) || ( mouse_y > inst.y+64 ) ) { if ( inst.stan == 1 ) { inst.x=mouse_x-16; inst.y=mouse_y-32; inst.image_blend=c_white; inst.stan=0; }; }; //================================================================================ =========================== //================================================================================ =========================== if ( (mouse_x > inst.x) && (mouse_x < inst.x+32) && (mouse_y > inst.y) && (mouse_y < inst.y+64) ) { if ( inst.stan == 1 ) { inst.image_blend=c_white; inst.stan=0; }; if ( inst.stan == 0 ) { inst.image_blend=c_green; inst.stan=1; }; }; //================================================================================ =========================== }; } Problemy: -po pierwszym kliknięciu na instancję wszystko jest ok jednak gdy kliknę drugi raz nie odświetla się ani zmienna stan nie zmienia wartości -po podświetleniu i kliknięciu gdzieś na wolnym miejscu instancja się przenosi ale nie odświetla się a zmienna stan nie zmienia wartości Dodatkowo mam kilka pytań: -Czy zamiast podświetlania da się po prostu zmienić grafikę danej instancji? -W moim kodzie warunki na sprawdzenie czy mysz jest nad obiektem są dobre dla prostokąta, czy dałoby się coś zrobić dla obiektów mniej regularnych, o mniej przewidywalnych kształtach (gwiazdki, wielokąty itp)
×
×
  • Dodaj nową pozycję...