LoveLeady Opublikowano 23 Maja 2008 Udostępnij Opublikowano 23 Maja 2008 Witam wszsytkich. Mam problem - mianowicie robie gre (platwormówke) i jestem na etapie prawie 0 w grze jak i ze znajmością Gm'a co za tym idzie GML'a równierz. Problem polega na zabijaniu przeciwników poprzez naskoczeniu na nich. Dokładniej mam problem w zabiciu samego bohatera kiedy dojdzie do kolizji w osi "X". Próbowałem na wiele sposób. Przeczytałem inne tematy na tym forum oraz nadal nie znalazłem czegoś co rozwiązało by mój problem (jeśli jest forum temat z odpowiedzią na mój problem to bardzo przepraszam a jednocześnie prosze o link do takiego tematu). Jak narazie mój kod wygląda tak (kod do zabicia poprzez skok): if (other.y<y-8) && (other.vspeed>0) { instance_destroy() } Mam ten kod wklepany w "Celu" w kolizji z "Bohaterem". Co musze dopisać aby przy zderzeniu bohatera z celem w osi X nastąpiło usunięcia bohatera z planszy lub rozpoczęniu gry od nowa (z życiami sobie poradze :) ). Mam nadzieje że znajde tutaj pomocną dłoń... ekhm. może lepiej pomocny kod. Pozdrawiam, LoveLeady Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
warcrawt Opublikowano 23 Maja 2008 Udostępnij Opublikowano 23 Maja 2008 GML //lewo if (other.x<x)&&(other.hspeed>0) { instance_destroy(); } //prawo if (other.x>x)&&(other.hspeed>0) { instance_destroy(); } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kryniak Opublikowano 23 Maja 2008 Udostępnij Opublikowano 23 Maja 2008 @warcrawt: Źle. GML if (other.y-8<y && other.vspeed>0) instance_destroy(); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
warcrawt Opublikowano 23 Maja 2008 Udostępnij Opublikowano 23 Maja 2008 Ale on chce w osi X. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
LoveLeady Opublikowano 23 Maja 2008 Autor Udostępnij Opublikowano 23 Maja 2008 @warcrawt: Źle. GML if (other.y-8<y && other.vspeed>0) instance_destroy(); Jakby Pan przeczytał dokładniej mój pierwszy post to napewno zobaczył by Pan że mam kod na zabijanie celu poprzez oś Y. @Warcraft Prawie dobrze, tylko chodziło mi o to ze przez oś X zostanie zabity BOHATER a nie CEL, chyba że źle wpisałem kod lub w zlym miejscu W "CEL" --> kolizion with oject "bohater" --> execute piece of code //Zabicie przez naskok if (other.y<y-8) && (other.vspeed>0) { instance_destroy() } //lewo (ZABIJA CEL A NIE BOHATERA!) if (other.x<x-8)&&(other.hspeed>0) { instance_destroy(); } //prawo (ZABIJA ZABIJA CEL A NIE BOHATERA) if (other.x>x+8)&&(other.hspeed>0) { instance_destroy(); } Pozdrawiam, LoveLeady Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kamciog Opublikowano 23 Maja 2008 Udostępnij Opublikowano 23 Maja 2008 Link Tu masz przykład platformówki. Jest tam skakanie na wrogów :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
LoveLeady Opublikowano 23 Maja 2008 Autor Udostępnij Opublikowano 23 Maja 2008 Link Tu masz przykład platformówki. Jest tam skakanie na wrogów :P Próbowałem ale wtedy przy kolizji w każdym punkcie celu następuje zabicie bohatera. Ja potrzebuje skryptu który niszczy bohatera przy kolizji w osi X. Własciwie potrzebuje tylko "komendy" gml która niszczy kokretny object. //lewo (ZABIJA CEL A NIE BOHATERA!) if (other.x<x-8)&&(other.hspeed>0) { instance_destroy(); //<-- zabija CEL a chce aby zabijało BOHATERA } //prawo (ZABIJA ZABIJA CEL A NIE BOHATERA) if (other.x>x+8)&&(other.hspeed>0) { instance_destroy(); //<-- zabija CEL a a chce aby zabijało BOHATERA } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Yoda Opublikowano 23 Maja 2008 Udostępnij Opublikowano 23 Maja 2008 with (other) instance_destroy(); ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 23 Maja 2008 Administratorzy Udostępnij Opublikowano 23 Maja 2008 with (other) instance_destroy(); ? lub bezpieczniej: with (bohater) instance_destroy(); Oj, chyba się od poniedziałku na serio zabieram za ten wielki tutorial do Game Makera, od podstaw aż do rozbudowanej gry. Tylko najpierw takową muszę napisać :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
LoveLeady Opublikowano 23 Maja 2008 Autor Udostępnij Opublikowano 23 Maja 2008 Dziękuje Wam. Sposób działa i cieszę się że są ludzie którzy mają cierpliwość i chęci do pomagania innym. Osobiście używam sposobu gnyska, fakt - bezpieczniejszy ^.- Pozdrawiam i dziekuje za pomoc, Love Leady Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 23 Maja 2008 Udostępnij Opublikowano 23 Maja 2008 Pierwszy nowy uzytkownik na którego się nie denerwowałem czytając posty xD. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Yoda Opublikowano 23 Maja 2008 Udostępnij Opublikowano 23 Maja 2008 Czy ja wiem czy bezpieczniejszy? ;D Może w twoim wypadku jest tylko jeden obiekt bohater, ale w niektórych mogłoby być kilku ( np w grze dla 2 graczy - tak nie mylicie się, na tym samym obiekcie ;) ), więc użycie other jest w tym wypadku jedynym sensownym wyjściem. Jak dla mnie bezpieczniej z other. Można najwyżej sprawdzić czy ten 'other' to instancja obiektu bohater i git! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
LoveLeady Opublikowano 23 Maja 2008 Autor Udostępnij Opublikowano 23 Maja 2008 Czy ja wiem czy bezpieczniejszy? ;D Może w twoim wypadku jest tylko jeden obiekt bohater, ale w niektórych mogłoby być kilku ( np w grze dla 2 graczy - tak nie mylicie się, na tym samym obiekcie ;) ), więc użycie other jest w tym wypadku jedynym sensownym wyjściem. Jak dla mnie bezpieczniej z other. Można najwyżej sprawdzić czy ten 'other' to instancja obiektu bohater i git! Przy użyciu other kasowało mi "cel" po dotkniecu z podłożem. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Yoda Opublikowano 23 Maja 2008 Udostępnij Opublikowano 23 Maja 2008 A obacz tak: GML if ( other.object_index == oBohater ) with ( other ) instance_destroy(); ;P 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ę