Skocz do zawartości

pozycja


krychu90

Rekomendowane odpowiedzi

Yyy... Ogólnie to z punktu widzenia twórcy gier to działać powinno tak:

Masz obiekt Ludek i obiekt Wskaźnik. Podczas kliknięcia powinno ustawić Wskaźnik na pozycję kursora myszy. Zawsze Ludek powinien iść w kierunku wskaźnika.

Teraz to przerób na kod GM i jak tak zrobisz, to, przynajmiej w teori, powinno działać. W k... innych programach to działa na tej zasadzie bez problemowo.

Ach, jeżeli chodzi Ci o takie coś jak w RTS`ie, zaznaczasz kolesia i on reaguje na polecenia, to powinien on mieć jakąś własną wartość, jakąś flagę. Jeżeli nie ma unikalnych dla obiektu wartości lub flag to z tym może być problem. Cała sztuka polega na tym, by jeżeli zaznaczę Ludka nr. 1 to podnosi mu się flaga, a Ludkowi nr. 2 - opuszcza. Jeżeli zaznaczę Ludka nr. 2 to podnosi mu się flaga, a Ludkowi nr. 1 - opuszcza. Teraz, przy kliknięciu niech do Wkaźnika idzie ten Ludek, który ma podniesioną flagę. Rozumiesz? Teraz pomyśl nad tymi flagami, jeżeli masz z góry założoną liczbę jednostek to możesz utworzyć dla każdej zmienną, która przyjmuje wartość True lub False (nie wiem, czy w GM są booloeanowskie zmienne, jeżeli nie to zamiast True może być 1, zamiast False - 0). Możesz to także wykonać w postaci tablicy o nieokreślonej liczbie elementów. Każda jednostka ma swój własny element na tablicy.

Ale namieszałem... Mój Boże, w GM nie ma niezależnych dla każdej jednostki (nawet tego samego typu) wartości? Uch, nieciekawie. Powiedz mi, jak zrobić, by Ludek szedł w stronę jakiegoś obiektu, a wykonam Ci przykład, lub jakoś to zobrazuję.

Odnośnik do komentarza
Udostępnij na innych stronach

dla mnie wydaje sie ze trohe namieszales, nie prosciej by bylo w stepie dac

mp_potential_step(cel.x,cel.y,2,false)

przy global click mouse

if zaznaczony=true
{ cel.x = mouse_x
cel.y = mouse_y
}

i oczywiscie jeszcze w kliknieciu na niego zaznaczony=true wtedy bedzie elegancko, ja mam tak w swojej strategii a zeby ludziki mogly najsc 2 na siebie i nie bylo tak jak mowi krychu90 to ludziki nie moga byc solid

Odnośnik do komentarza
Udostępnij na innych stronach

tak mam. Tlko jak mam dwie jednostki zaznaczone to one ida w ta strone kursora, jeden dojdzie a drugi sie wokol niego kreci. To mabyc automatyczne segregowanie :) ,Tak jak w strategiach, jezeli jest zaznaczonych wiecej niz jedna jednostka, to punkt do kturego szedl zmieni sie bo jest zajety...yyyy....noo...

 

 

aaa. ludki są solid

Odnośnik do komentarza
Udostępnij na innych stronach

W step:

if place_free(pozx,pozy)
mp_potential_step(pozx,pozy,3,0)
else
{if place_free(pozx-24,pozy)
mp_potential_step(pozx-24,pozy,3,0)
else
{if place_free(pozx+24,pozy)
mp_potential_step(pozx+24,pozy,3,0)
else
{if place_free(pozx,pozy+24)
mp_potential_step(pozx,pozy+24,3,0)
else
{if place_free(pozx,pozy-24)
mp_potential_step(pozx,pozy-24,3,0)
}}}}

Można ustawiać 5 jednostek max, jeśli więcej musisz w kodzie pogrzebać

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 miesiąc temu...

Teraz powracam do tematu. Ja nie mam tak, że stoją obok siebie, tylko 2 ludki zamieniają się w jednego! W kolesiu, którym się chodzi mam skrypty w create:

instance_create(0,0,g8)
pozx=x;
pozy=y;

 

(g8 to nazwa obiektu broni, potrzebne mi do czego innego). W step:

if place_free(pozx,pozy)
mp_potential_step(pozx,pozy,3,0)
else
{if place_free(pozx-24,pozy)
mp_potential_step(pozx-24,pozy,3,0)
else
{if place_free(pozx+24,pozy)
mp_potential_step(pozx+24,pozy,3,0)
else
{if place_free(pozx,pozy+24)
mp_potential_step(pozx,pozy+24,3,0)
else
{if place_free(pozx,pozy-24)
mp_potential_step(pozx,pozy-24,3,0)
}}}}

 

W kolizji z innymi ludkami:

if x =xprevious && y=yprevious && other.xprevious && other.y=yprevious
{
pozx=x
pozy=y
}

 

i w Global Left Button:

pozx=mouse_x;
pozy=mouse_y;

 

I dalej po pójściu w jedno miejsce, ludziki wchodzą w jedność! (troche off-topic ale o strategii) I jak zrobić, żeby po kliknięciu na obiekt "enemy" moje zaznaczone ludki atakowały go?

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