TakeThis Opublikowano 20 Września 2008 Udostępnij Opublikowano 20 Września 2008 Właśnie, czemu jak nacisnę np. w lewo i np. w prawo to Hero idzie na ukos ?? I jak temu zaradzić, by tak się nie działo? Proszę o pomoc. :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sirluki Opublikowano 20 Września 2008 Udostępnij Opublikowano 20 Września 2008 Właśnie, czemu jak nacisnę np. w lewo i np. w prawo to Hero idzie na ukos ?? I jak temu zaradzić, by tak się nie działo? Proszę o pomoc. :) Możesz jaśniej? Korzystałeś z jakiegoś przykładu? A jak ma niby iść? :mellow: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rewlisz Opublikowano 20 Września 2008 Udostępnij Opublikowano 20 Września 2008 GML (quotStepquot) if( place_empty(x-4,y)) x-=4; else if( place_empty(x+4,y)) x+=4; else if( place_empty(x,y+4)) y-=4; else if( place_empty(x,y+4)) y+=4; Wstaw to zamiast zamiast swojego chodzenia. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 20 Września 2008 Udostępnij Opublikowano 20 Września 2008 chyba raczej: GML place_empty( x , y ) a nie lepiej spradzać do solidów?GML place_free( x , y )? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Matyxon Opublikowano 20 Września 2008 Udostępnij Opublikowano 20 Września 2008 @UP: Szybciej ;P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 20 Września 2008 Udostępnij Opublikowano 20 Września 2008 omg! GML s = 6 // prędkość poruszania if keyboard_check( vk_left ) and place_free( x - s , y )) x -= s else if keyboard_check( vk_right ) and place_free( x + s , y )) x += s if keyboard_check( vk_up ) and place_free( x , y - s )) y -= s else if keyboard_check( vk_down ) and place_free( x , y + s )) y += s @UP: czemu skasowałeś swojego posta? :hmmm: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TakeThis Opublikowano 20 Września 2008 Autor Udostępnij Opublikowano 20 Września 2008 @all: OMFG, Ja nie chce, żeby chodził na ukos!! -.- Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rewlisz Opublikowano 20 Września 2008 Udostępnij Opublikowano 20 Września 2008 Ale ze mnie idiota. Trochę poprawię kod Marka: GML (Step) s = 6 // prędkość poruszania if keyboard_check( vk_left ) and place_free( x - s , y )) x -= s; else if keyboard_check( vk_right ) and place_free( x + s , y )) x += s; else if keyboard_check( vk_up ) and place_free( x , y - s )) y -= s; else if keyboard_check( vk_down ) and place_free( x , y + s )) y += s; Zabrakło jednego else. A w moim poprzednim kodzie to zapomniałem o keyboard xD. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TakeThis Opublikowano 20 Września 2008 Autor Udostępnij Opublikowano 20 Września 2008 Ale ze mnie idiota. Trochę poprawię kod Marka: GML (Step) s = 6 // prędkość poruszania if keyboard_check( vk_left ) and place_free( x - s , y )) x -= s; else if keyboard_check( vk_right ) and place_free( x + s , y )) x += s; else if keyboard_check( vk_up ) and place_free( x , y - s )) y -= s; else if keyboard_check( vk_down ) and place_free( x , y + s )) y += s; Zabrakło jednego else. A w moim poprzednim kodzie to zapomniałem o keyboard xD. A da się to zrobić eventami? ;> Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 20 Września 2008 Udostępnij Opublikowano 20 Września 2008 Ta, da się. Masz event przyciśnięcia klawisza, puszczenia i trzymania. Przy naciśnięciu robisz keycode = EVENT_KEY_CODE; przy puszczeniu keycode = 0; i przy trzymaniu sprawdzasz if( keycode != EVENT_KEY_CODE ) exit; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TakeThis Opublikowano 20 Września 2008 Autor Udostępnij Opublikowano 20 Września 2008 Ta, da się. Masz event przyciśnięcia klawisza, puszczenia i trzymania. Przy naciśnięciu robisz keycode = EVENT_KEY_CODE; przy puszczeniu keycode = 0; i przy trzymaniu sprawdzasz if( keycode != EVENT_KEY_CODE ) exit; Ehh... Za dużo roboty, bo mam 40 obiektów (lewo, prawo, siadanie, kucanie, skakanie, itp) xD Locked... Ale thankS to all. Może kiedyś mi to się przyda... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 20 Września 2008 Udostępnij Opublikowano 20 Września 2008 To sobie zrób rodzica który będzie określał kierunek ruchy, a później tylko w obiekcie dodajesz event przyciśniętego dowolnego klawisza i sprawdzasz w jakim kierunku ma się ruszać. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi