gol350 Opublikowano 3 Sierpnia 2011 Udostępnij Opublikowano 3 Sierpnia 2011 mam wazne pytanie . jak zrobic tak ,zeby dana akcja byla wykonywana tylko wtedy, gdy nastapia dwie lub wiecej akcji ,ale musza one wystapic w porzadku chronologicznym ,takim jak ja chce tzn. podam przyklad: mam dwa pola w roomie. chodzi o to , ze jak klikne myszka na pole_1 , potem na pole_2 to w pole_2 ma mi rysowac sprita , ale nie odwrotnie tzn: jak klikne myszka najpierw na pole_2 potem na pole_1. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 3 Sierpnia 2011 Udostępnij Opublikowano 3 Sierpnia 2011 GML krit: kliknalem=0 k2=0 glob. left pressed: if collision_point(mouse_x,mouse_y,pole1,0,0) kliknalem=1 k2=1 else if collision_point(mouse_x,mouse_y,pole2,0,0) kliknalem=2 else{ kliknalem=0 k2=0 } draw: if k2 and kliknalem=2{ draw_sprite() } Sposób niezbyt idealny, ale będzie działał :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cordoba Opublikowano 3 Sierpnia 2011 Udostępnij Opublikowano 3 Sierpnia 2011 Ja bym to zrobił inaczej: W create jakiegoś obiektu: GML (Create) global.klik=0 Jeśli klikasz na pole1 to: GML (Step) if mouse_check_button_pressed(mb_left) { if global.klik=0 { global.klik=1 } } Jeśli klikasz na pole2 to: GML (Draw) if mouse_check_button_pressed(mb_left) { if global.klik=1 { draw_sprite(sprite_index,image_index,x,y) } } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 3 Sierpnia 2011 Udostępnij Opublikowano 3 Sierpnia 2011 Cordoba: Twój kod wyświetli sprita w jednej klatce(wnioskuję z widoku) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 4 Sierpnia 2011 Udostępnij Opublikowano 4 Sierpnia 2011 Doublepost, ale jakbym zedytował, to by nikt nie zerknął.(proszę nie banujcie!) Można to jeszcze zrobić tak: GML CREATE kliknalem=0 glob. left pressed: if collision_point(mouse_x,mouse_y,pole1,0,0) kliknalem=1 else if !collision_point(mouse_x,mouse_y,pole2,0,0) kliknalem=0 draw pola2: if kliknalem=1{ draw_sprite() } Trochę krócej i z jedną zmienną Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sernat Opublikowano 4 Sierpnia 2011 Udostępnij Opublikowano 4 Sierpnia 2011 Create: GML listEvents = ds_list_create(); listEventsId = 0; ds_list_add( listEvents, "show_message( 'akcja namber lan!' );" ); ds_list_add( listEvents, "show_message( 'akcja namber tu!' );" ); ds_list_add( listEvents, "show_message( 'akcja namber fri!' );" ); ... ds_list_add( listEvents, "show_message( 'akcja namber iks!' );" ); Step: GML if ( mouse_check_button_pressed( mb_left ) ) { execute_string( ds_list_find_value( listEvents, listEventsId ) ); listEventsId += 1; } Lepszy sposób -> Timelines. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się