Gość Opublikowano 22 Sierpnia 2011 Udostępnij Opublikowano 22 Sierpnia 2011 Witam, postanowiłem że spróbuję swoich sił i stworzę jakiegoś najprostszego Tower Defence, ale tradycyjnie nie potrafię ogarnąć GML bo nie znam jego możliwości.. Zacznę może od tego: Mam 4 obiekty, 1. gm_build - plac budowy, gdy się na niego kliknie powstaje obiekt tower_menu, przy ponownym kliknięciu tower_menu jest usuwane. Left button pressed GML if instance_exists(tower_menu) { with(tower_menu)instance_destroy(); } else { global.tx = gm_build.x; global.ty = gm_build.y; instance_create(480,256,tower_menu); } to kod gm_build. 2. tower_menu - tworzy listę dostępnych wież(ale to zrobię dopracuję potem) Create GML instance_create(480,256,menu_twr_blue); Destroy GML with(menu_twr_blue) instance_destroy(); 3. twr_blue - to zwykła wieżyczka, która na razie jedyne jakie ma zadanie to zastąpić wybrany wcześniej plac budowy. Kodu na razie nie ma 3. menu_twr_blue - wieżyczka która nie strzela, tylko może zostać wybrana i zastępuje kliknięty wcześniej gm_build GML instance_create(global.tx,global.ty,twr_blue); with(gm_build) instance_destroy(); with(tower_menu) instance_destroy(); Teraz pytanie.. Jeśli mam np. 3 obiekty gm_build, to co mogę zrobić żeby zmienił się tylko ten wcześniej kliknięty? Próbuję to zrobić przy użyciu zmiennych, ale nie wiem co zrobić dalej.. Czy jest jakaś komenda jak nie wiem.. "last_clicked" czy coś takiego? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 23 Sierpnia 2011 Udostępnij Opublikowano 23 Sierpnia 2011 Powinieneś mieć zmienną globalną, nazwij ją jak chcesz (u mnie w kodzie: last_clicked). W obiekcie gm_bulid, w evencie Left Button Pressed po linijce: GML instance_create(480,256,tower_menu); dodaj: GML last_clicked = id Następnie zamień drugą linijkę w kodzie menu_twr_blue na: GML with(last_clicked) instance_destroy() Nie gwarantuję, że będzie działać, więc na wszelki wypadek stwórz kopię zapasową. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 23 Sierpnia 2011 Udostępnij Opublikowano 23 Sierpnia 2011 Dobra, działa.. Dziękuję Ci bardzo :P GML if instance_exists(tower_menu) { with(tower_menu)instance_destroy(); } else { instance_create(480,256,tower_menu); global.last_clicked = id; global.tx = id.x; global.ty = id.y; } Tak to musiałem zrobić :) Jeszcze raz dzięki! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ę