Skocz do zawartości

Problem z targetem


MXQ

Rekomendowane odpowiedzi

mam problem z moim RTS-em. Mianowicie obiekt idzie do celu "targex" i "targety" za pomocą move_towards_point. W step dałem skrypt odpychający inne jednostki wokół siebie(skrypt Alwina):

GML
_range=5

_dir=point_direction(x,y,other.x,other.y)

_x=(x+other.x)/2

_y=(y+other.y)/2

x=_x-lengthdir_x(_range*2,_dir)

y=_y-lengthdir_y(_range*2,_dir)

other.x=_x+lengthdir_x(_range*2,_dir)

other.y=_y+lengthdir_y(_range*2,_dir)

 

oto problem: jak idzie do celu kilka zaznaczonych jednostek to te ludziki łazikowały wokół tego co doszedł do celu pierwszy i tylko teraz chodzi mi o to żeby się zatrzymywały wokół tego pierszego

Odnośnik do komentarza
Udostępnij na innych stronach

Ja mam taki pomysł:

1. Sprawdzać czy targetx=x, a targety=y;

2. Jeśli tak to ustawić dwuwymiarową tablicę globalną, o polach x i y na 1;

3. W każdym obiekcie sprawdzać czy ta tablica o polach targetx i targety jest równa 1, jeśli tak speed=0, czy jak tam chcesz.

Odnośnik do komentarza
Udostępnij na innych stronach

O.K. nie ma sprawy:

1 i 2.

GML
if targetx=x and targety=t

{

global.zajate[x,y]=id()

}

3.

GML
if global.zajete[targetx,targety]!=0

{

oder=global.zajete[targetx,targety]

if ditance_to_object(x,y,oder)<10//tu jest błąd

{

targetx=x//zatrzyma się

targety=y

}

}

E: Może trochę inaczej, bo teraz zatrzyma się nawet jak jest daleko od celu, zaraz poprawię.

E2: Jest tam jeden błąd, bo zapomniałem jaka była funkcja na odległość do obiektu.

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ę...