Skocz do zawartości

Pomocnik


4tk

Rekomendowane odpowiedzi

Mam pomocnika, takiego jeszcze bez SI. Zanim się za nie zabiorę, mam 2 pytania:

1. Co zrobić, aby pomocnik szedł za mną w odległości 30 pixeli, ale nie cofał się gdy do niego podchodzę

2. Co zrobić, aby gdy pomocnik widzi przeciwnika przestał za mną chodzić tylko szedł za przeciwnikiem aż do kolizji, a po zniszczeniu przeciwnika aby wracał do mnie na tą odległość 30 pixeli

Odnośnik do komentarza
Udostępnij na innych stronach

1:

GML
if (distance_to_object(hero) > 30)

{

move_towards_point(hero)

}

else

{

speed=0

}

 

2: Trochę nie zrozumiałem....

może tak:

 

GML
move_towards_piont(wrog)

 

if (wrog_zywy=false)

{

move_towardz_point(hero)

}

else

{

move_towards_point(enemy)

Ale wtedy musisz określić, co to jest wrog_zywy.

Odnośnik do komentarza
Udostępnij na innych stronach

1:

zamiast 'hero' podstawiasz nazwę bohatera (gracza)

 

...

move_towards_point(hero.x,hero.y,10)

...

 

2:

Step przyjacioła:

GML
if (distance_to_object(enemy)<100)

{

move_towards_point(enemy.x,enemy.y,10)//zapomiałem o tym x,y,speed przy move towards point, sorka

}

else

{

move_towards_point(hero.x,hero.y,7)

}

Odnośnik do komentarza
Udostępnij na innych stronach

GML
//step

if distance_to_object(O_gracz)>30 and distance_to_object(O_wrog)>100

{

speed=3

direction=point_direction(x,y,O_gracz.x,O_gracz.y)

}

 

if distance_to_object(O_wrog)<100

{

speed=3

direction=point_direction(x,y,O_wrog.x,O_wrog.y)

}

 

image_angle=direction

To jest tylko bez omijania przeszkod, chcesz omijanie przeszkód?

I nie sprawdzałem tego w praktyce.

 

EDIT:

Z omijaniem działa to:

GML
if distance_to_object(O_gracz)>30 and distance_to_object(O_wrog)>100

{

move_towards_point(O_gracz.x,O_gracz.y,3)

}

 

if distance_to_object(O_wrog)<100

{

move_towards_point(O_wrog.x,O_wrog.y,3)

}

 

image_angle=direction

Lub to:

GML
if distance_to_object(O_gracz)>30 and distance_to_object(O_wrog)>100

{

mp_potential_step(O_gracz.x,O_gracz.y,3,solid);

}

 

if distance_to_object(O_wrog)<100

{

mp_potential_step(O_wrog.x,O_wrog.y,3,solid);

}

 

image_angle=direction

Ale raczej działa to drugie.

Odnośnik do komentarza
Udostępnij na innych stronach

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ę
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...