Skocz do zawartości

Wybuch w złym miejscu


Rekomendowane odpowiedzi

Witam!

Stworzyłem grę, w której trzeba lecieć samolotem i niszczyć samoloty przeciwnika. Na samolot patrzymy z góry. Jest to jednym słowem bardzo znany gatunek gry. W tej grze zrobiłem już dość dużo, ale zapomniałem o tym, żeby podczas zderzenia z kilkoma samolotami przeciwnika mój samolot wybuchał. Od razu się za to zabrałem. Stworzyłem sprita, a potem obj z eksplozją. Zaprogramowałem tak, żeby po straceniu całego życia mojego samolotu - wybuchał. Niestety wybuch pojawia się zupełnie obok miejsca, gdzie mój samolot został zniszczony(link do zdjęcia poniżej).

 

http://img227.imageshack.us/img227/434/haha1.png

 

 

Proszę o pomoc!!!

Odnośnik do komentarza
Udostępnij na innych stronach

W evencie kolizji naszego statku z wrogim samolotem wpisz

GML
with(other) {instance_destroy();}

instance_destroy();

Następnie w evencie Destroy wpisz

GML
effect_create_above(ef_explosion,x,y,1,c_orange)

Efekt stworzy się na miejscu rozbitego statku

Pisałem z fona, więc nie jestem całkowicie pewien czy zadziała...

Odnośnik do komentarza
Udostępnij na innych stronach

W evencie kolizji naszego statku z wrogim samolotem wpisz
GML
with(other) {instance_destroy();}

instance_destroy();

Następnie w evencie Destroy wpisz

GML
effect_create_above(ef_explosion,x,y,1,c_orange)

Efekt stworzy się na miejscu rozbitego statku

Pisałem z fona, więc nie jestem całkowicie pewien czy zadziała...

Tylko że ja ustawiłem żeby mój samolot niszczył się w momencie, gdy straci całe życie, a nie w momencie zderzenia ze statkiem. W momencie zderzenia ze statkiem mojemu samolotowi odejmuje się 25 życia. A chyba tych skryptów nie mogę wpisać w evencie no more health...

Odnośnik do komentarza
Udostępnij na innych stronach

A co w ogóle tworzy wybuch ? Samolot czy co.

 

Zrób tworzenie wybuchu w samolocie. W evencie destroy:

GML
effect_create_above(ef_explosion,x,y,1,c_aqua)

A w spricie samolotu wyśrodkuj ten origin (CENTER).

 

Chyba nie potrzebujesz przykładu do tego...

Odnośnik do komentarza
Udostępnij na innych stronach

Ej, napisałem bardzo podobnego skrypta, który miał spowodować, że wybuchu mojego statku pojawi się on na nowo po jakimś czasie w tym samym miejscu:

instance_create(gracz.x,gracz.y,gracz);

ale wyskakuje mi błąd unknown variable x. Przecież pisałem w poście powyżej podobnego skrypta i taki błąd mi nie wyskoczył.

Odnośnik do komentarza
Udostępnij na innych stronach

Bo jeśli zniszczysz ten obiekt, to już go nie ma. A zarazem nie ma jego położenia, czyli x,y.

Możesz zapamiętać x i y samolotu i będzie działać.

Przy zniszczeniu w samolocie:

GML
rysownikwybuchu.xx=x

rysownikwybuchu.yy=y

I potem w rysownikuwybuchu:

GML
effect_create_above(ef_explosion,xx,yy,1,c_aqua)

Spróbuj coś takiego.

Odnośnik do komentarza
Udostępnij na innych stronach

Bo jeśli zniszczysz ten obiekt, to już go nie ma. A zarazem nie ma jego położenia, czyli x,y.

Możesz zapamiętać x i y samolotu i będzie działać.

Przy zniszczeniu w samolocie:

GML
rysownikwybuchu.xx=x

rysownikwybuchu.yy=y

I potem w rysownikuwybuchu:

GML
effect_create_above(ef_explosion,xx,yy,1,c_aqua)

Spróbuj coś takiego.

Ale teraz jest błąd: unknown variable xx.

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