feedthezombie Opublikowano 26 Czerwca 2015 Udostępnij Opublikowano 26 Czerwca 2015 Witam ponownie, kolejny już raz bomberman, mam nadzieję, że Was nie zanudzę. :) Animacje wybuchów są skończone, ale pojawił się nowy problem. W pętli, która tworzy wybuch sprawdzam czy napotyka na bloczek, który docelowo ma zniszczyć- no i nie wiem co zrobić, zeby "przekierować" działanie do tego właśnie bloku, tzn coś jakby event tego właśnie bloku, żebym mógł napisać kod do niszczenia w tym właśnie obiekcie, a jestem na razie w obiekcie bomby. Znalazłem takie eventy jak user definied ale nie wiem czy to nie działa tak jak chcę czy po prostu nie umiem używać. Sprawdzam czy jest blok do zniszczenia, no jest, i co dalej? Nie wiem tylko co zrobić żeby ten blok dostał jakby "sygnał" do rozpoczęcia kodu, sam kod niszczenia bloku bede umiał napisać. Pomocy :) Z góry dziękuję :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 26 Czerwca 2015 Udostępnij Opublikowano 26 Czerwca 2015 Tak wykonasz jakis blok kodu w 'innej' instacji GML // tutaj możesz też dać nazwę obiektu z drzewka // lub jakiegos rodzica wtedy kod wykona sie we wszystkich instancjach tego typu with ( zmienna_z_id_instancji ) { // ten kod wykona sie wewnatrz nowej instancji instance_destroy(); } a tak się możesz odwołać do jakiejś zmiennej lokalnej wewnątrz 'innej' instancji GML zmienna_z_id_instancji.speed = 5; LUB w eventach Colizji możesz się posłużyć keywordem other GML (eventColizji) other.speed = 5; with jest użyteczne bo może robić za pętlę, która coś wykona we wszystkich instancjach wskazanego typu Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
feedthezombie Opublikowano 26 Czerwca 2015 Autor Udostępnij Opublikowano 26 Czerwca 2015 o rety, ile nowych rzeczy, przeanalizuję :) dziekuję :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
feedthezombie Opublikowano 26 Czerwca 2015 Autor Udostępnij Opublikowano 26 Czerwca 2015 GML z=noone; for (i=1;i<global.zasieg;i+=1){ if ((position_meeting(x-i*32,y,obj_blok)) || (z=instance_place(x-i*32,y,obj_cegla))){break;} //jesli znajdzie blok lub cegle to przerywa, blok- idziemy dalej, cegla -niszczymy ta cegle else instance_create(x-i*32,y,obj_bomba_po); //jesli nie to tam powstaje animacja wybuchu } if (z!=noone) { //jesli znalazl cegle with(z) {instance_destroy();} niszczy cegłę } Czy dobrze rozumiem jak mam tego użyć? przy wybuchu cegła znika i od razu się pojawia, nie wiem co dalej. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 26 Czerwca 2015 Udostępnij Opublikowano 26 Czerwca 2015 (z=instance_place(x-i*32,y,obj_cegla) to ci nie przypisze id instancji do zmiennej 'z' bo jest wewnątrz warunku. 'z' zawsze wynosi noone Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 26 Czerwca 2015 Udostępnij Opublikowano 26 Czerwca 2015 GML nie rozróżnia = i ==. Rozróżnia tylko miejsce w jakim jest użyte i na podstawie tego wykonuje albo porównanie albo przypisanie. Więc = użyte wewnątrz warunku to porównanie. 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ę