Patryqs Opublikowano 20 Sierpnia 2014 Udostępnij Opublikowano 20 Sierpnia 2014 Witam. Robię właśnie swoją nową grę, ale utknąłem, gdyż chciałbym, aby postać uciekała przed moim bohaterem. Na razie jest tak, że po prostu biega po całym roomie randomowo, ale to bez sensu bo czasem sam na mnie wpada. Chodzi mi o to, czy byłaby taka możliwość, że ta postać biega sobie jak chce, ale gdy się do niej zbliżę, to ona zaczyna uciekać? (ale gdy dostatecznie daleko ucieknie, to znów biegnie gdzie chce) :rolleyes: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Madness Opublikowano 20 Sierpnia 2014 Udostępnij Opublikowano 20 Sierpnia 2014 Najprostszym sposobem byłoby chyba obliczenie wektora, który ma prowadzić do celu (np. gracza) i zamienić jego zwrot. Krótko mówiąc odwrotne move_towards_point(...), czy jak się tam ta funkcja zwała. Potem sprawdzałbyś dystans, jeśli obiekt oddalił się na tyle od celu, że 'może czuć się swobodnie' to niech sobie chodzi randomowo. Znaczy to tyle, że musiałbyś stworzyć sobie stany, które mówią czy obiekt ma się randomowo poruszać, czy też uciekać od celu/gonić cel. Jeśli ten obiekt podczas uciekania miałby omijać przeszkody to już inna bajka, choć z tego co mi wiadomo GM oferuje kilka funkcji, dzięki którym zwykle nie trzeba się bawić w pathfinding. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sutikku Opublikowano 20 Sierpnia 2014 Udostępnij Opublikowano 20 Sierpnia 2014 Więc najłatwiej to chyba tak: GML (step) image_angle=direction if distance_to_object(o_player) < 320 direction=point_direction(o_player.x, o_player.y)-180 // nie jestem pewien czy dobre argumenty else if alarm[0]=-1 then alarm[0] = 60 Masz już prościutkie wykrywanie, teraz losowe chodzenie GML (alarm0) direction=random(360) I jeszcze prędkość GML (create) speed=4 EDIT: Przepraszam, najwidoczniej zgłupiałem do reszty bo coś głupiego napisałem, kod już jest zmieniony 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ę