Skocz do zawartości

Zaznaczenie i Ruch


alwin

Rekomendowane odpowiedzi

Siemka, mam prośbę.. może mi ktoś lekko podpowiedzieć jak rozwiązać problem poruszania się jednostek jak w grach RTS? tzn zaznaczam jednostkę i klikam na mapie- idzie tam, zanzaczam inną, klikam - pędzi:)

Nie wiem czy mam tak ściśniętą czachę dzisiaj czy co.. ale nieźle się zakręciłem z tym:/

Bo mam tak-

 

W CREATE JEDNOSTKI

GML
zaznaczona =false;

ruch = false;

cel =noone;

W STEP JEDNOSTKI

 

GML
if(ruch){

if(instance_exists(cel)){

cel.jednostka= id;

if(point_distance(x,y,cel.x,cel.y)>5){

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

// mp_potential_step(cel.x,cel.y,3,1)

}

}

}

W STEP OBJ MOUSE (znacznik gdzie ma isc jednostka)

GML
if(point_distance(x,y,jednostka.x,jednostka.y))<5{instance_destroy()}

 

W RIGHT PRESSED OBIEKTU KONTROL

GMLif(instance_exists(global.zaznaczona_jednostka)){

mouse = instance_create(mouse_x,mouse_y,obj_mouse)

global.zaznaczona_jednostka.ruch = true;

global.zaznaczona_jednostka.cel = mouse;

}

 

Nieźle namieszałem co?.. Ale się ucze i może źle myslę w niektórych momentach. W sumie mi to działa tylko kiedy klikam jednostką gdzie ma iść- ciągle mi się tworzą te obiekty obj_mouse, a znika tylko ten do którego dojdzie jedniostka.. jak zrobić żę tworzę dla danego unita jeden ten znacznik, a jezeli zmienię jego ruch np. kliknę gdzieś indziej to ten znacznik tylko zmienia położenie a nie tworzy się nowy?

 

Edycja:

Od razu powiem że moim celem jest zrobienie także zaznaczania 'kwadratem' np kilku jednostek i wytyczenia im ruchu.

Odnośnik do komentarza
Udostępnij na innych stronach

Marcq dzieki, choć w Twoim przykładzie przy wytyczaniu drogi jednostce sama sie odznacza.. Ale rozwiązałem problem- zminiłem kod right pressed na

GML
if(instance_exists(global.zaznaczona_jednostka)){ // jest jakas jednostka zaznaczona i gdy klikamy

if(!instance_exists(global.zaznaczona_jednostka.cel)){ // jezeli jednotksa nie posiada znacznika gdzie ma iosc

mouse = instance_create(mouse_x,mouse_y,obj_mouse) // utworz znacznik

global.zaznaczona_jednostka.ruch = true; // ustaw ze jednostka ma isc

global.zaznaczona_jednostka.cel = mouse; // e celu znacznika mouse

} else {

global.zaznaczona_jednostka.cel.x = mouse_x;global.zaznaczona_jednostka.cel.y = mouse_y;}

dzieki temu nie tworzy sie nowy znacznik tylko stary się przemieszcza:)

 

 

Kolejny problem - po naciśnięciu jednostki do zmiennej globalnej global.jednostka_zaznaczona dodaje mi zmienną id tego obeiktu. A co kiedy mam zaznaczone kilkanaście jednostek? Jak to zrobić za pomocą tablic? Bo w pomocy totalnie nic nie ma na ich temat:/

Odnośnik do komentarza
Udostępnij na innych stronach

trochę to przerobiłem - masz zaznaczanie z czterech stron i ładniejszy prostokącik.

dodałem tło, żeby ten prostokącik spełniał zadanie

:D łap -> (...)

 

edit: zmiana wersji... są niestety troszeczke niezręczne i sie nawzajem zacinają, ale nie mam innego pewnego pomysłu, a młodsza siostra wywala mnie z kompa...

teraz sie w jednego nie wbijają. nad blokowaniem pomysle później

Odnośnik do komentarza
Udostępnij na innych stronach

Już sobie poradziłem:) Oto moje- daję wersję exe bo to jest jeden z projektów moich..

zaznaczanie- lewy przycisk myszu lub kwadrat też lewym, chodzimy jednostkami prawym. 2x klik i wybieramy wszystkie jednostki danego typu na mapie.

Te brązowe kulki to pracownicy, klik prawym na drzewach lub kopalni i będą zbierać. Są także łucznicy i piechurzy:) Powoli podchodźcie do wrogów i patrzcie na walkę;)

 

https://gmclan.org/up6389_4_alwin_rts.html

 

Grafika moja:P oprócz terenu- textura.

Odnośnik do komentarza
Udostępnij na innych stronach

:D:D:D:D FAAAJNE :D

 

drawowanie liczb z lewego górnego rogu ustaw na view_xview[0]+liczba i to samo z osią y...

jak ci sie nie uda, to mi podeślij w gm'ku którymś.

mam GM 8, wiec mi odpali wszystko, tylko potem bedziesz musiał pop-up messy wywalić bo na pro mnie nie stać

Odnośnik do komentarza
Udostępnij na innych stronach

zrób w tym kwadracie co złoto i drewno do tego noszą rekrutację... po raz 12 odpaliłem tą gre i dopiero teraz zauważyłem, że łucznicy creatują strzały... do tej pory przeciwnik dochodził do nich, zanim zaczeli strzelac...

 

pikinierzy + łucznicy + podchodzenie po kolei i wabienie ofiar (tzn. taktyka) = zwycięstwo nad różowymi

 

Edit:

mógłbyś jeszcze powiększyć viewa (w tym okienku prawie nic nie widać), zrobić grupowanie (masz zaznaczone, wciskasz ctrl i 0, zaznaczeni przyjmują oddział=0; nie masz zaznaczone, klikasz 0, wszyscy którzy mieli oddział=0 zaznaczają sie;;; takie coś było w "Age Of Empires II")

Odnośnik do komentarza
Udostępnij na innych stronach

Wiem wiem.. właśnie totaj nie klikamy np łucznikami na wrogu aby go atakował. Podchodzimy powoli a łucznicy robią swoje. trzeba micrować- uciekac itp.. Ale np pikinierzy atakują kiedy klikniesz na wroga.

Spoko rekrutacja bedzie, a jak sprawuje sie zaznaczanie i kolizje? ujdą?

Odnośnik do komentarza
Udostępnij na innych stronach

piki atakuja jak wróg jest blisko - potrafią nawet go gonić, za to ja właśnie łucznikami na chama w oddział...

 

zaznaczanie - jestem przyzwyczajony do zaznaczania prawym i wskazywania drogi lewym, ale to co zrobiłeś jest ok.

kolizje - nie wiem o które kolizje chodzi, ale to, że sie rozsuwają jak ktoś idzie jest świetne.

 

dodatkowa uwaga - jak zbierają drewno czy złoto, to po prostu biorą to złoto, jakby leżało na ziemi, a przecież mają je wydobywać, nie ?

Odnośnik do komentarza
Udostępnij na innych stronach

racja... mój najlepszy (do tej pory) wynik:

 

typ................................ilość...........................max

____________________________________________

złoto..............................1000.........................1000

drewno................2000 (i nadal przybywa)..........-

WIEŚNIACY......................12............................12

pikinier.............................1.............................16

łucznik..............................5.............................10

___________________________________________

wróg.................................0..............................?

 

edit:

teraz zauważyłem:

Mnie tez nie stać smile.gif

Ten błąd juz naprawiony co mówiłeś, działam dalej tą strategię, może akurat cos fajnego wyjdzie.

a popup'a że "created with game maker" ni ma

Odnośnik do komentarza
Udostępnij na innych stronach

Niedługo dam Ci lepsze demko, jak chcesz mozesz byc moim testerem (słono płacę)

teraz zauważyłem:

CYTAT

Mnie tez nie stać smile.gif

Ten błąd juz naprawiony co mówiłeś, działam dalej tą strategię, może akurat cos fajnego wyjdzie.

a popup'a że "created with game maker" ni ma

 

 

 

 

Wiem:) Mnie nie stać, moich pracodawców juz tak.

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