Skocz do zawartości

System strategiczny.


Rekomendowane odpowiedzi

Wygrzebałem GMa spod kurzu, i zacząłem robić silnik strategii w czasie rzeczywistym. Zaczynam o jednostek i mam 2 objecty, koleś czerwony i koleś niebieski. koleś czerwony ma w Create kod

 

selected=0

 

A w Mouse Left Button zmiana grafiki na czerwony podświetlony i odegranie dźwięku klik oraz kod

 

selected=1

 

Nie wiem jak zrobić ramkę która u zaznaczonych jednostek wykona akcję taką jak w left button. Oraz akcję, która po kliknięciu lewym przyciskiem myszy dowolne inne miejsce sprawi że wszystkie zaznaczone jednostki zmniejszą selected=1 do selected=0 .

 

A to dopiero kawałek problemu. Nie wiem jak zrobić żeby jednostki z selected=1 przesunęły się w miejsce gdzie kliknę prawym przyciskiem myszy.

 

Zrobiłem prymitywny system walki wręcz ale polega on na dotknięciu przeciwnika a następnie odbieraniu obydwóm życia, przez co 1 rani na raz 10 jednostek jeśli się stykają. Jeśli ktoś ma pomysł na udoskonalanie go to chętnie zobaczę.

 

Nie dawajcie przykładów bo zbyt trudno je potem sklejać i konfigurować do swoich upodobać bo wszystko musisz przeglądać.

Odnośnik do komentarza
Udostępnij na innych stronach

GML
//Metoda na hama

global.go_x = docelowy_x;

global.go_y = docelowy_y;

with(jednostka)

{

if(selected)

{

//ide

}

}

 

Co do zaznaczania mógłbyś zastosować collision_rectangle(), bądź samemu sprawdzać po pozycji.

 

Czyli w jakimś tam obiekcie kontrolującym zaznaczenia ustawiasz zmienne:

global.select_x1, global.select_y1, global.select_x2, global.select_y2.

 

I w Stepie jednostki sprawdzasz, czy znajduje się w zaznaczonym obszarze.

Ew. Od razu w obiekcie kontrolującym zaznaczenia, za pomocą with.

 

Można by również zrobić system zaznaczeń przechowując w tablicy/liście id zaznaczonych, ale to tak jako ciekawostka.

Odnośnik do komentarza
Udostępnij na innych stronach

Teraz błąd wyskakuje po wciśnięciu prawego przycisku.

 

ERROR in

action number 1

of Mouse Event for Glob Right Button

for object Czerwony koles:

 

Error in code at line 3:

 

global.go_x = docelowy_x;

 

at position 16: Unkown virable docelowy_x

 

wiecie jak to poprawić?

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