Ignis Opublikowano 5 Marca 2010 Udostępnij Opublikowano 5 Marca 2010 Pytanie jest może dla was proste, ale bądźcie wyrozumiali bo wy też kiedyś zaczynaliście... Otóż, chciałbym, by po skończonej animacji, wróg miał mniej HP niż przed chwilą, animację mam, wystarczy tylko kod. Aha, użyłem opcji "szukaj" ale znalazłem, jeden temat i to jeszcze mało z niego zrozumiałem Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Assassin Opublikowano 6 Marca 2010 Udostępnij Opublikowano 6 Marca 2010 Powinno wystarczyć. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignis Opublikowano 6 Marca 2010 Autor Udostępnij Opublikowano 6 Marca 2010 Dzięki, podejrzewałem że to da się zrobić w klockach, ale ja to bym chciał jeszcze wiedzieć jak zrobić by odejmowało po podejściu na dobrą odległość (Sorry ale naprawdę staram się sam do czegoś dojść) :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
donway Opublikowano 6 Marca 2010 Udostępnij Opublikowano 6 Marca 2010 Zrobić w klockach ? To chyba raczej jest event :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignis Opublikowano 6 Marca 2010 Autor Udostępnij Opublikowano 6 Marca 2010 Oj przepraszam, pomyliło mi się ;P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Assassin Opublikowano 6 Marca 2010 Udostępnij Opublikowano 6 Marca 2010 Co to jest dobra odległość ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignis Opublikowano 6 Marca 2010 Autor Udostępnij Opublikowano 6 Marca 2010 No... Rycerz nie ranił wrogów bronią białą z odległości 5 metrów nie? ;) Chodzi mi że muszę być zbliżony do wroga by go móc zranić :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Assassin Opublikowano 6 Marca 2010 Udostępnij Opublikowano 6 Marca 2010 Robisz to trochę dziwnie... Zamiast sprawdzać czy animacja się kończy i w tym momencie przeciwnik jest wystarczająco blisko, wystarczy użyć sprawdzenia kolizji - to oczywiście najbanalniejszy ze sposobów. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignis Opublikowano 6 Marca 2010 Autor Udostępnij Opublikowano 6 Marca 2010 Do tego chyba trzeba kodu, a ja na razie nie umiem za bardzo gmla, więc mógłbyś jaśniej? :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Shumix Opublikowano 6 Marca 2010 Udostępnij Opublikowano 6 Marca 2010 Napisz w kodzie w końcu animacji: if distance_to_object(wróg) < jakąś liczbę {wróg.hp -= iletamchcesz} sry za błędy jeżeli są, piszę z komy Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
candy Opublikowano 6 Marca 2010 Udostępnij Opublikowano 6 Marca 2010 Napisz w kodzie w końcu animacji: if distance_to_object(wróg) < jakąś liczbę {wróg.hp -= iletamchcesz} To będzie poprawne, gdy jest tylko jeden wróg. Myślę, że lepiej byłoby sprawdzić to w stepie wroga: GML if(distance_to_object(gracz)<[wartość]&&gracz.sprite_index==[animacja ataku]&&gracz.image_index==[ostatnia klatka animacji]) { hp-=[wartość]; if(hp<0) { //jakis tam kod } } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Shumix Opublikowano 6 Marca 2010 Udostępnij Opublikowano 6 Marca 2010 To będzie poprawne, gdy jest tylko jeden wróg. Myślę, że lepiej byłoby sprawdzić to w stepie wroga: GMLif(distance_to_object(gracz)<[wartość]&&gracz.sprite_index==[animacja ataku]&&gracz.image_index==[ostatnia klatka animacji]) { hp-=[wartość]; if(hp<0) { //jakis tam kod } } Chyba, że da się parenta do wrogów co będzie prostym rozwiązaniem, nigdy tego nie robiłem, ale powinno działać. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
candy Opublikowano 6 Marca 2010 Udostępnij Opublikowano 6 Marca 2010 Dając parent musiałbyś stworzyć n wrogów (czyli o n-1 więcej objectów). Po za tym gdyby usunąć pierwszego wroga (ten co ma zdefiniowane wszystkie eventy), to usunięci zostaliby także pozostali wrogowie. A chyba o to nie chodzi. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
boom Opublikowano 6 Marca 2010 Udostępnij Opublikowano 6 Marca 2010 Chodzi o animację gracza,czy animację odebrania ciosu przez przeciwnika? Jeżeli o tę pierwszą to kod nie jest trudny: GML a = collision_point(x+5/*5 to odległość przeciwnika od gracza*/ + sprite_width/*dla orgina ustawionego na 0, czyli domyślnie*/,y,o_przeciwnik,0,1) if(a && image_index = image_number - 1)//czyli jeżeli wykrył przeciwnika i klatka animacji jest ostatnią. opcjonalnie można dopisać && sprite_index = s_atak w nawiasie. { a.hp-=1//odejmuje mu hp } Dajesz w stepie i śmiga. Ewentualne jeżeli postać może być skierowana w dwie strony dajesz zamiast pierwszej linijki: GML switch(image_xscale) { case 1: a = collision_point(x+5 + sprite_width,y,o_przeciwnik,0,1);break; case -1: a = collision_point(x-5,y,o_przeciwnik,0,1);break; } 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ę