trolu122 Opublikowano 17 Września 2008 Udostępnij Opublikowano 17 Września 2008 robie gre top down i chciałbym zrobic pomocnika. kiedy widzi przeciwnika ma do niego strzelać jak nie widzi i jestesmy za daleko ewentualnie za scianą to biegnie do nas. wrog to obiekt który wszystcy przeciwnicy mają w parent, object2 to sciana i mam takie cos GML near=instance_nearest(x,y,wrog) if !collision_line( x, y, wrog.x, wrog.y, object2, 1, 1 ) {agresja=1 direction=point_direction(x,y,near.x,near.y) if ( ready=1 && agresja=1) { c=instance_create(x+lengthdir_x(35,direction), y+lengthdir_y(35,direction), pocisk_1) c.direction=direction +random(5) -random(5) c.speed=10 c.damage=25 alarm[0]=20 ready=0 }} if collision_line( x, y, wrog.x, wrog.y, object2, 1, 1 ) {agresja=0} tylko ze ludzik nie wiem czemu stoi jak głupi i nic nie robi ;/ nawet jak wróg jest na widoku. czasem strzeli raz i koniec i za nic nie moge dojsc co jest nie tak bo jak dla mnie powinno byc dobrze ;p Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pablo1517 Opublikowano 17 Września 2008 Udostępnij Opublikowano 17 Września 2008 GML if !collision_line( x, y, wrog.x, wrog.y, object2, 1, 1 ) zmien na GML if !collision_line( x, y, near.x, near.y, object2, 1, 1 ) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
trolu122 Opublikowano 19 Września 2008 Autor Udostępnij Opublikowano 19 Września 2008 GML near=instance_nearest(x,y,wrog) //kiedy widzi przeciwnika strzela if !collision_line( x, y, near.x, near.y, object2, 1, 1 ) {agresja=1 direction=point_direction(x,y,near.x,near.y) if ( ready=1 && agresja=1) { c=instance_create(x+lengthdir_x(35,direction), y+lengthdir_y(35,direction), pocisk_1) c.direction=direction +random(5) -random(5) c.speed=10 c.damage=10 alarm[0]=5 ready=0 }} // jak teren czysty agresja=0 .... if collision_line( x, y, near.x, near.y, object2, 1, 1 ) {agresja=0} // ... i jak trzeba biegnie do nas if (distance_to_point(player.x,player.y)>200 && agresja=0) {mp_potential_step(player.x,player.y,2,0)} if (collision_line( x, y, player.x, player.y, object2, 1, 1 ) && agresja=0) {mp_potential_step(player.x,player.y,2,0)} // gdy przeciwnik jest za blisko wycofuje sie if (distance_to_point(near.x,near.y)<200 && !collision_line( x, y, near.x, near.y, object2, 1, 1 )) {speed=-2} else {speed=0} oto kod :D całkiem nieźle mi chyba wyszedł tylko zastanawiam sie jak zrobic wycofywanie, tzn gdy przeciwnik idzie w kierunku pomocnika i jest za blisko, zrobiłem spedd=-2 ale kiedy pomocnik nachodzi na sciane animacja skacze i brzydko to wygląda ma ktos jakis pomysl? 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ę