Makary155 Opublikowano 30 Października 2009 Udostępnij Opublikowano 30 Października 2009 Moje gry zawsze bazowały na strzelaniu, chciałbym teraz jakąś odmianę;) Zrobiłem rycerzyka i chciałbym żeby: 1)podejdź do wroga, zmień animację na atak(to umiem) 2)jeśli animacja machnięcia mieczem się skończy, odbierz hp przeciwnikowi, przewiduję kilka animacji ataku 3) rycerzyk ma drużynę, więc żeby nie odbierał swoim hp 4) podczas ataku zadawał obrażenia jednemu wrogowi, a nie wszystkim wokół Będę wdzięczny za pomoc, dodam do kredek. Pozdrawiam Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 30 Października 2009 Udostępnij Opublikowano 30 Października 2009 2, 3, 4. GML (AnimationEnd) if(sprite_index=animacja1) { if(other.object_index!=parent_dobrzy) other.hp-=10 // opcjonalnie inny sposób na dobranie się do instancji wroga, niż other (który pamięta ostatnią instancję z jaką kolidował) } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Makary155 Opublikowano 30 Października 2009 Autor Udostępnij Opublikowano 30 Października 2009 No właśnie jak pobierać id trafionego inaczej niż other? Bo boję się że jak zbierze się na ekranie tłum to rycerzyki będą odejmować pchnięciem wszystkim wokół Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 30 Października 2009 Udostępnij Opublikowano 30 Października 2009 instance_nearest() przecież istnieje :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jaklub Opublikowano 30 Października 2009 Udostępnij Opublikowano 30 Października 2009 w tym przypadku instance_place chyba lepsze. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 30 Października 2009 Udostępnij Opublikowano 30 Października 2009 to nie ma znaczenia, bo i tak sprawdzi wszystkie aktywne instancje danego obiektu. Jednak szybciej GMowi jest obliczyć odległość instancji od punktu niż sprawdzać czy jego maska nie koliduje z punktem. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jaklub Opublikowano 30 Października 2009 Udostępnij Opublikowano 30 Października 2009 to nie ma znaczenia, bo i tak sprawdzi wszystkie aktywne instancje danego obiektu. Jednak szybciej GMowi jest obliczyć odległość instancji od punktu niż sprawdzać czy jego maska nie koliduje z punktem. ale przy instance_place raczej nie będzie możliwości walnięcia wroga, który np. jest za bohaterem. podkreślam, że jednak nie sprawdzałem tego w praktyce Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 30 Października 2009 Udostępnij Opublikowano 30 Października 2009 instance_position może się okazać lepsze bo jak potworki się wkleją w siebie to zwróci id tego na wierzchu, a nie jakiegoś tam z kupki. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 30 Października 2009 Udostępnij Opublikowano 30 Października 2009 instance_position dziala na podobnej zasadzie co instance_place, tez sprawdza na podstawie maski, ktorys z nich jednak jest szybszy od drugiego, pech ze nie pamietam ktory. tak czy siak - nearest jest najrozsadniejszy Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 30 Października 2009 Udostępnij Opublikowano 30 Października 2009 Przy place nie wiesz nigdy który obj ci zwróci a przy position masz pewność że zwróci ci tego pierwszego na wskazanej pozycji. Sądzę że place jest szybszy bo nie sortuje id wskazanych instancji, ale nie sprawdzałem tego. EDIT: woot http://www.gmclan.org/up539_11_instance_pl...e_position.html ciekawe czemu tutaj działa tylko position EDIT2: już jest poprawione :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jaklub Opublikowano 30 Października 2009 Udostępnij Opublikowano 30 Października 2009 woot http://www.gmclan.org/up539_11_instance_pl...e_position.html ciekawe czemu tutaj działa tylko position proste: obiekt, które sprawdzał instance_place, nie miał maski. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pablo1517 Opublikowano 31 Października 2009 Udostępnij Opublikowano 31 Października 2009 Najprostrzy sposób. Rycerzykom robisz zmienną team wachającą się od 0 do ilości teamów jakie mogą być w grze. Teraz kolizja z poj. obiektem. robisz jakiś obiekt maskę, z małym spritem. Visible na off. Zawsze jak kończy ci sie animacja ataku tworzysz obiekt mniej więcej w miejscu gdzie ten rycerzyk machnął mieczem. Tworzonemu obiektowi odrazu ustawiasz team=rycerz.team (tzn. taki team jaki ma obiekt, który go stworzył). I teraz w mieczyku sprawdzasz zwyczajowo kolozje z rycerzykami. Jeśli team != other.team wali dmg i kasuje obiekt maskę. W ten sposób zada obrażenia tylko 1 osobie. Prosty, skuteczny sposób. Dodatkowo możesz nastawić w create takiego obiektu alarm na 2 i w alarmie instance_destroy na wszelki wypadek. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Makary155 Opublikowano 31 Października 2009 Autor Udostępnij Opublikowano 31 Października 2009 Dzięki za pomoc:) Popróbuje z tymi nearestami i position, może przy 40 wojownikach nie zacznie się ciąć:] Duże będzie opóźnienie, jeśli wczytam background do mapy o rozmiarach 2000x2000 z pliku? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 31 Października 2009 Udostępnij Opublikowano 31 Października 2009 no tak jak by tak :P Podziel sobie ten background na cześci np po 100px powinno byc płynniej ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Makary155 Opublikowano 31 Października 2009 Autor Udostępnij Opublikowano 31 Października 2009 No dobrze, podzieliłem. Teraz mam dać pętlę i draw_background, tak? Nigdy nie tworzyłem takich wielgaśnych plansz. 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ę