Skocz do zawartości

Zablokowane Kolizja 2 lub więcej jednostek


Rekomendowane odpowiedzi

W strategii mam teraz taką sprawę którą nie wiem jak rozwiązać. Gdy rozkażę jednostkom (max 16 zaznaczonych) iść w pewno miejsce to wszystkie schodzą do jednego miejsca. Ja chciałbym zrobić tak jak w większości nowszych grach (np. starcraft II) czyli, że wchodzę jednostką w tłum to reszta się usuwa na bok. Jeśli się nie da tego wykonać to chociaż, gdy mam zaznaczone jednostki to, żeby nie wchodziły w jedno miejsce. Pomógłby ktoś?

Odnośnik do komentarza
Udostępnij na innych stronach

Pisząc 'usuwa na bok' miałem na myśli przesuwa. -.- Rozumiem, że muszą się o konkretną odległość się przesuwać.

Mam kod taki:

 

GML
if(collision_point(x,y,objUnit,true,true)

{

motion_set(random(360),speed_move);

}

 

Tylko to niezbyt ładnie wygląda chociaż działa. Więc może jakaś mała wskazówka jak to miało by wyglądać?

Odnośnik do komentarza
Udostępnij na innych stronach

Próbowałem tego:

GML
for(j=0;j<=300;j+=1)

for(i=0;i<=359;i+=1)

if(place_free(x+lengthdir_x(j,i),y+lengthdir_y(j,i)){x=x+lengthdir_x(j,i);y=y+lengthdir_y(j,i);break;}

Do wyznaczania która droga jest wolna. Niestety to nie działa, więc prosiłbym o pomoc z tym problemem.

Odnośnik do komentarza
Udostępnij na innych stronach

Prawdopodobnie nie. Ale ja znalazłem.

Zamień break na exit, i to cała robota.

Dlaczego ? Wydaje mi się, że break zatrzymuje tylko drugą pętlę. Pierwsza wykonuje się kolejny raz, a co za tym idzie - znów otwiera się druga pętla i x,y się zmienia więcej niż jeden raz.

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

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