DarkLiquidus Opublikowano 17 Maja 2010 Udostępnij Opublikowano 17 Maja 2010 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 Więcej opcji udostępniania...
Saus Opublikowano 17 Maja 2010 Udostępnij Opublikowano 17 Maja 2010 Ustawiles origin spritowi wybuchu na srodek :)? Bo wyglada jakby byl na 0,0 wlasnie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
micha_i Opublikowano 17 Maja 2010 Udostępnij Opublikowano 17 Maja 2010 wszystkiemu ZAWSZE ustawiaj originy Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MagnusArias Opublikowano 17 Maja 2010 Udostępnij Opublikowano 17 Maja 2010 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 Więcej opcji udostępniania...
DarkLiquidus Opublikowano 17 Maja 2010 Autor Udostępnij Opublikowano 17 Maja 2010 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 Więcej opcji udostępniania...
Gość Opublikowano 18 Maja 2010 Udostępnij Opublikowano 18 Maja 2010 A dlaczego byś niby nie mógł tworzyć efektu w evencie no more health? ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MagnusArias Opublikowano 18 Maja 2010 Udostępnij Opublikowano 18 Maja 2010 TO nie możesz w stepie wpisać kodu GML if health <= 0 then instance_destroy();// W destroy to co juz pisałem...</span> Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Roki Opublikowano 18 Maja 2010 Udostępnij Opublikowano 18 Maja 2010 Ale mozesz tez w no more health tworzyc efekt, jak juz tak chcesz :P Czyli w no more health daj: GML effect_create_above(ef_explosion,x,y,1,c_orange) :) I oczywiście instance_destroy() Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
DarkLiquidus Opublikowano 18 Maja 2010 Autor Udostępnij Opublikowano 18 Maja 2010 Próbowałem wszystkiego, o czym mi mówiliście, ale i tak wybuch jest zupełnie obok. Żadnych originów nie zmieniałem wszędzie są ustawione na zero jakby co. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 18 Maja 2010 Udostępnij Opublikowano 18 Maja 2010 Wez zatem sprite'a wybuchu i szukaj buttona 'Center'. Nacisnij - i voíla. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
DarkLiquidus Opublikowano 18 Maja 2010 Autor Udostępnij Opublikowano 18 Maja 2010 Wez zatem sprite'a wybuchu i szukaj buttona 'Center'. Nacisnij - i voíla. Ale ja nie mam sprita wybuchu tylko piszę w execute a piece of code: effect_create_above(ef_explosion,x,y,1,c_orange); Jak ja mam tutaj ustawić center? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Assassin Opublikowano 18 Maja 2010 Udostępnij Opublikowano 18 Maja 2010 Ogarnij x i y. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 18 Maja 2010 Udostępnij Opublikowano 18 Maja 2010 GML effect_create_above(ef_explosion,x+sprite_xoffset,y+sprite_yoffset,1,c_orange); E: a jak bedzie dalej niz blizej, to zamiast + wez -. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
DarkLiquidus Opublikowano 18 Maja 2010 Autor Udostępnij Opublikowano 18 Maja 2010 To dziwne, ale zawsze wybuch jest z lewej strony ekranu zawsze idealnie w tym samym miejscu, kiedy kieruję się waszymi instrukcjami. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Assassin Opublikowano 18 Maja 2010 Udostępnij Opublikowano 18 Maja 2010 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 Więcej opcji udostępniania...
DarkLiquidus Opublikowano 18 Maja 2010 Autor Udostępnij Opublikowano 18 Maja 2010 Napisałem po swojemu i prawie zadziałało(tutaj gracz to mój samolot): effect_create_above(ef_explosion,gracz.x,gracz.y,1,c_orange) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Assassin Opublikowano 18 Maja 2010 Udostępnij Opublikowano 18 Maja 2010 Czyli po prostu rysowałeś wybuch innym obiektem, przez co robił się on w innym x i y, nie samolotu... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
DarkLiquidus Opublikowano 18 Maja 2010 Autor Udostępnij Opublikowano 18 Maja 2010 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 Więcej opcji udostępniania...
candy Opublikowano 18 Maja 2010 Udostępnij Opublikowano 18 Maja 2010 A usunąłeś wcześniej object gracz? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Assassin Opublikowano 18 Maja 2010 Udostępnij Opublikowano 18 Maja 2010 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 Więcej opcji udostępniania...
DarkLiquidus Opublikowano 18 Maja 2010 Autor Udostępnij Opublikowano 18 Maja 2010 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 Więcej opcji udostępniania...
Assassin Opublikowano 18 Maja 2010 Udostępnij Opublikowano 18 Maja 2010 No bo jak nie przypisałeś nic xx,yy, to wybuchu nie stworzysz ... https://gmclan.org/up5908_12_przyklaaaad.html @down: nie ogarniam... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
DarkLiquidus Opublikowano 18 Maja 2010 Autor Udostępnij Opublikowano 18 Maja 2010 Zrobiłem to zamiast gmlem to klockiem create instance i po prostu wcisnąłem relative i działa. 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ę