Revael Opublikowano 14 Marca 2015 Udostępnij Opublikowano 14 Marca 2015 Sprawa wygląda następująco: kiedy pocisk trafi przeciwnika to ten pocisk powinien się niszczyć - i tak jest tyle ze gdy ten jeden pocisk trafia przeciwnika to cala reszta pocisków które się utworzyły po nim również się niszczy. Taki mam kodzik w przeciwniku: (Step Event) if place_meeting(x,y,obj_bullet) { hp -= 1 with (obj_bullet) { instance_destroy(); } } Co zrobić aby tylko pocisk który trafia przeciwnika się niszczył a reszta dalej sobie "latała" Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MaxGaming Opublikowano 14 Marca 2015 Udostępnij Opublikowano 14 Marca 2015 GML with (obj_bullet)Oznacza, że z poziomu każdego pocisku wykona się autodestrukcja. Spróbuj zmienić na: GML if place_meeting(x,y,obj_bullet) { hp -= 1 with (instance_nearest(obj_bullet)) { instance_destroy(); } } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sutikku Opublikowano 14 Marca 2015 Udostępnij Opublikowano 14 Marca 2015 Ewentualnie. Jeśli będziesz to miał w kodzie kolizji z pociskiem, daj with(other) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MaxGaming Opublikowano 14 Marca 2015 Udostępnij Opublikowano 14 Marca 2015 Ewentualnie. Jeśli będziesz to miał w kodzie kolizji z pociskiem, daj with(other)Też o tym pomyślałem, ale skoro używa GML place_meeting to pomyślałem, że raczej nie używa eventu kolizji ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 14 Marca 2015 Udostępnij Opublikowano 14 Marca 2015 place_meeting() zamienić na instance_place() i masz już id instance z którym jest kolizja. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Revael Opublikowano 14 Marca 2015 Autor Udostępnij Opublikowano 14 Marca 2015 Dzięki za odpowiedzi. with (instance_nearest(obj_bullet)) podziałało Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 14 Marca 2015 Udostępnij Opublikowano 14 Marca 2015 Tylko że to są niepotrzebne kalkulacje. :/ Zrób tak: GML in=instance_place(x,y,obj_bullet) if in { hp -= 1 with (in) { instance_destroy(); } } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sutikku Opublikowano 14 Marca 2015 Udostępnij Opublikowano 14 Marca 2015 Przy dużej liczbie obiektów, które są atakowane, to podejrzewam, że na moim złomku wywołałoby spadek fps. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 15 Marca 2015 Udostępnij Opublikowano 15 Marca 2015 Czekaj, czy chcesz powiedzieć że instance_place() będzie wolniejsze od place_meeting() z instance_nearest()? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 15 Marca 2015 Udostępnij Opublikowano 15 Marca 2015 To ja to może rozdrobnię dla wyjaśnienia: instance_place: sprawdzenie collision boxów 2 instancji. place_meeting: sprawdzenie collision boxów n+1 instancji, gdzie n to ilość instancji obiektu z którym sprawdzamy kolizję, instance_nearest: sprawdzenie odległości n instancji od pozycji docelowej, gdzie n to ilość instancji obiektu z którym sprawdzamy kolizję Policz to sobie, Suttiku. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 15 Marca 2015 Udostępnij Opublikowano 15 Marca 2015 @Vader pomyliłeś instance_place() z place_meeting(). To ten drugi jest szybszy, ale nie w połączeniu z instance_nearest() :P Poza tym użycie instance_nearest() może być niedokładne w tym wypadku! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 15 Marca 2015 Udostępnij Opublikowano 15 Marca 2015 @Vader pomyliłeś instance_place() z place_meeting(). To ten drugi jest szybszy, ale nie w połączeniu z instance_nearest() :P Whoops. No nic. Zdarza się. Dobrze, że mnie poprawiłeś, niechciałbym aby komuś w głowie ugrzęzła zła informacja. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sutikku Opublikowano 15 Marca 2015 Udostępnij Opublikowano 15 Marca 2015 Chodziło mi o to, że z tym instance_nearest() i place_meeting() byłyby problemy. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 15 Marca 2015 Udostępnij Opublikowano 15 Marca 2015 Tylko że odpowiedziałeś to zaraz po moim poście. Mogłeś zacytować post do którego się odnosisz, bo kontekst był bardzo jasny, ale nie taki jak chciałeś. Ale dobrze, bo teraz (mam nadzieję) ja pomogliśmy bardziej wyjaśniając wszystko. 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ę