Ignis Opublikowano 29 Maja 2010 Udostępnij Opublikowano 29 Maja 2010 Mam taki problem. Jest sobie grupka żołnierzy. Jeden Bohater i ok. 5 kolegów. Każdy am się obracać w kierunku kursora myszki. To jest. Teraz jeszcze wszyscy mają taki kod na poruszanie: GML if ( keyboard_check( vk_up )) speed = 5 else if keyboard_check( vk_down ) {speed=-5} else speed = 0 Problem w tym że ten kod jest tak jakby. 'Na prowadzenie samotnej gry' Bo gdy taka grupka żołnierzy się porusza, zbijają się w kupę, jeden na drugim. Wymyślilibyście jakiś taki sposób na poruszanie ale żeby zachowywali odstęp od siebie? Byłbym wdzięczny :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 29 Maja 2010 Udostępnij Opublikowano 29 Maja 2010 Zamiast speed proponuje mp_potential_step. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignis Opublikowano 29 Maja 2010 Autor Udostępnij Opublikowano 29 Maja 2010 Dzięki, a co to da? :P (tak z ciekawości) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 29 Maja 2010 Udostępnij Opublikowano 29 Maja 2010 No coz... mp_potential_step potrafi omijac przeszkody. A kumple to przeszkody, tak czy nie? xD Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZyperPL Opublikowano 29 Maja 2010 Udostępnij Opublikowano 29 Maja 2010 A to wystarczy samo mp_potential_step=5? Czy trzeba inne argumenty? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignis Opublikowano 29 Maja 2010 Autor Udostępnij Opublikowano 29 Maja 2010 No właśnie jak nie chciałem by omijali bo jak naciskam np. 'górę' to wszyscy idą naprzód, chciałbym by np. dało się zachować jakiś odstęp od siebie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 29 Maja 2010 Udostępnij Opublikowano 29 Maja 2010 mp_potential_step jest funkcja. Przykladowo: GML mp_potential_step(mouse_x,mouse_y,5,true) argument0 - pozycja X celu; argument1 - pozycja Y celu; argument2 - predkosc, z jaka obiekt ma sie poruszac do celu; argument3 - czy ma probowac omijac wszystkie przeszkody (true), czy tylko solid (false). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piedro Opublikowano 29 Maja 2010 Udostępnij Opublikowano 29 Maja 2010 użyj GML mp_potential_step(x,x,szybkosc,true); edit: eh za wolno. Muuuuczek567 mnie wyprzedził Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignis Opublikowano 29 Maja 2010 Autor Udostępnij Opublikowano 29 Maja 2010 Czyli uzyskam efekt że 'obj_Kolega' będą po prostu iść w stronę kursora? Piedro, oni to cały temat powtarzają :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 29 Maja 2010 Udostępnij Opublikowano 29 Maja 2010 Tak, i beda probowali na siebie nie zachodzic. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignis Opublikowano 29 Maja 2010 Autor Udostępnij Opublikowano 29 Maja 2010 Niestety, mam taki kod i nadal zachodzą.. GML direction = point_direction(x,y,mouse_x,mouse_y) image_angle = direction if ( keyboard_check( vk_up )) speed = 5 else if keyboard_check( vk_down ) {mp_potential_step(mouse_x,mouse_y,5,true)} else speed = 0 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 29 Maja 2010 Udostępnij Opublikowano 29 Maja 2010 Tak myslalem :/ Mialem nadzieje, ze chociaz u Ciebie zadziala :/ Zatem trzeba wymyslic nowy kod. Trzeba sprawdzac, czy przed kolesiem nie ma innego kolesia, a jesli jest, to zmienic kierunek. Pomocne moga okazac sie lengthdiry :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignis Opublikowano 29 Maja 2010 Autor Udostępnij Opublikowano 29 Maja 2010 No kurcze. Potrzebuję tego kodu bo bez niego gra nie pójdzie. Pomógłby ktoś? Hmm, zmienię żeby zamiast kursora omijali co innego.. I nic. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 29 Maja 2010 Udostępnij Opublikowano 29 Maja 2010 Create: GML t = 0 Step: GML direction = point_direction(x,y,mouse_x,mouse_y)+t image_angle = direction if ( keyboard_check( vk_up )) speed = 5 else if keyboard_check( vk_down ) speed = -5 else speed = 0 if(instance_position(x+lengthdir_x(speed*5,direction),y+lengthdir_y(speed*5,direction),Obj_Kolega) t += 5 else t = 0 Kod niezbyt ladny, ale na razie nic lepszego nie wymysle. I nie jestem pewien, czy zadziala. Czy obj_Kolega ma ustawiona maske? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Roki Opublikowano 29 Maja 2010 Udostępnij Opublikowano 29 Maja 2010 A moze: GML (CREATE) t=0 GML (Step czy tam mysza xD) direction = point_direction(x,y,mouse_x,mouse_y) image_angle = direction mp_potential_step(mouse_x,mouse_y,s,true) if ( keyboard_check( vk_up )) s = 5 else if keyboard_check( vk_down ) s = -5 else s = 0 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności ANtY Opublikowano 29 Maja 2010 Filar Społeczności Udostępnij Opublikowano 29 Maja 2010 A moze: GML (CREATE) t=0 GML (Step czy tam mysza xD) direction = point_direction(x,y,mouse_x,mouse_y) image_angle = direction mp_potential_step(mouse_x,mouse_y,s,true) if ( keyboard_check( vk_up )) s = 5 else if keyboard_check( vk_down ) s = -5 else s = 0 i po co ci t w create? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Roki Opublikowano 29 Maja 2010 Udostępnij Opublikowano 29 Maja 2010 Stfu, miało być s=0 w create, sry, bo sie popatrzylem na post wyzej xD Mój błąd :( Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignis Opublikowano 29 Maja 2010 Autor Udostępnij Opublikowano 29 Maja 2010 Muuuuczek567 twój kod nie działa. 'Symbol ) expected Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności ANtY Opublikowano 29 Maja 2010 Filar Społeczności Udostępnij Opublikowano 29 Maja 2010 To wpisz ) w tym miejscu Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 29 Maja 2010 Udostępnij Opublikowano 29 Maja 2010 ANtY, za duzo wymagasz. Zamknij nawias po slowie Obj_Kolega. Tam powinny byc 2 zamkniecia nawiasow. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignis Opublikowano 29 Maja 2010 Autor Udostępnij Opublikowano 29 Maja 2010 Ale co oni robią? Kręcą się w kółko i uciekają jak do nich podchodzę bohaterem. :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności ANtY Opublikowano 29 Maja 2010 Filar Społeczności Udostępnij Opublikowano 29 Maja 2010 Nie chcą, żeby była kolizja, tak wnioskuje Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
DobryZiom Opublikowano 29 Maja 2010 Udostępnij Opublikowano 29 Maja 2010 może po prostu zrób te chodzenie strzałkami tyle że zrób tak: GML if wciskasz_klawisz { if odleglosc>minimalnej { idz } } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 29 Maja 2010 Udostępnij Opublikowano 29 Maja 2010 To sie nie sprawdzi. Ignis, oni maja nie wdawac sie w kolizje z kim? Poza tym, zaczna sie krecic tylko, gdy biegna. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Makary155 Opublikowano 29 Maja 2010 Udostępnij Opublikowano 29 Maja 2010 Tak myslalem :/ Mialem nadzieje, ze chociaz u Ciebie zadziala :/ Zatem trzeba wymyslic nowy kod. Trzeba sprawdzac, czy przed kolesiem nie ma innego kolesia, a jesli jest, to zmienic kierunek. Pomocne moga okazac sie lengthdiry :) Muczek, spróbuj tamtego kodu używając mp_potential_step_object, bo samo potential_step omija jedynie solidy, a kumple pewnie solidni nie są :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignis Opublikowano 29 Maja 2010 Autor Udostępnij Opublikowano 29 Maja 2010 A może tak: Gdy wciskam klawisz 'góra' tylko bohater idzie za kursorem a cała reszta po prostu utrzymuje się koło niego? Np. dać że pozycja towarzysza to jakiś punkt niedaleko bohatera? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności ANtY Opublikowano 29 Maja 2010 Filar Społeczności Udostępnij Opublikowano 29 Maja 2010 A może tak: Gdy wciskam klawisz 'góra' tylko bohater idzie za kursorem a cała reszta po prostu utrzymuje się koło niego? Np. dać że pozycja towarzysza to jakiś punkt niedaleko bohatera? No to zrób tak i zobacz, czy działa Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignis Opublikowano 29 Maja 2010 Autor Udostępnij Opublikowano 29 Maja 2010 Ale problem w tym że nie znam kodu na utrzymywanie się jednego obiektu koło drugiego (nigdy nie próbowałem) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Makary155 Opublikowano 29 Maja 2010 Udostępnij Opublikowano 29 Maja 2010 Możesz też spróbować mp_linear_step. Podobne do move_towards_point, z tym że po spotkaniu z innym obiektem lub miejscem docelowym zatrzymuje się. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 29 Maja 2010 Udostępnij Opublikowano 29 Maja 2010 GML if(distance_to_object(obj_bohater) < 50) speed = 0 else mp_linear_step_object(obj_bohater.x,obj_bohater.y,5,obj_kolega) Check this out. 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ę