Ice Cube Opublikowano 15 Grudnia 2018 Udostępnij Opublikowano 15 Grudnia 2018 Witam obiekt dynamit po aktywowaniu wybucha i ma niszczyc wszystkie potwory w zasiegu 100 pixeli obj_dynamit/step if collision_circle(x,y,100,obj_potwor,false,false)with(other){instance_destroy()} - to nie dziala zadnych potworow nie niszczy if collision_circle(x,y,100,obj_potwor,false,false)with(obj_potwor){instance_destroy()} - niszczy wszystkie potwory z gry nawet te poza zasiegiem ;/ jak to napisać by zniszczyło tylko potwory w zasiegu 100pix ? help! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 15 Grudnia 2018 Udostępnij Opublikowano 15 Grudnia 2018 Cześć, funkcja collision_circle (jak każda funkcja zaczynająca się od collision_*) zwraca ID instancji, także other Ci tutaj nie zadziała. Musisz zapisać ID do zmiennej tj. var potwor = collision_circle(x, y, 100, obj_potwor, false, true); while (potwor != noone) { with (potwor) { instance_destroy(); } potwor = collision_circle(x, y, 100, obj_potwor, false, true); } Dałem funkcję w pętli, ponieważ funkcje collision_* zwracają Ci tylko ID jednej instancji. Dla GMS1.4+ zamiast with(potwor) można zapisać instance_destroy(potwor) Ice Cube 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 15 Grudnia 2018 Udostępnij Opublikowano 15 Grudnia 2018 Widzę że na nic się zdał mój poprzedni wywód? Przeczytałeś to w ogóle? Był tam nawet przykład zarówno użycia collision_circle jak również użycia instance_nearest zarówno tym jak i drugim dałoby radę ten cel osiągnąć. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ice Cube Opublikowano 15 Grudnia 2018 Autor Udostępnij Opublikowano 15 Grudnia 2018 21 minut temu, I am Lord napisał: Widzę że na nic się zdał mój poprzedni wywód? Przeczytałeś to w ogóle? Był tam nawet przykład zarówno użycia collision_circle jak również użycia instance_nearest zarówno tym jak i drugim dałoby radę ten cel osiągnąć. I am Lord czytam każde twoje jakże cenne dla mnie porady,ale nie zawsze potrafie je zrozumieć w 100% od razu .Jeszcze raczkuje w gm. kazda odpowiedz rodzi kolejne pytania.kolejna sprawa moj english jest na poziomie tuska wiec czasem nie ogarniam detali prosze o troche wyrozumiałosci jeszcze Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 16 Grudnia 2018 Administratorzy Udostępnij Opublikowano 16 Grudnia 2018 Jak chcesz zniszczyć wszystko w promieniu 100px, to nie korzystasz z collision_circle. Collision_circle zwraca informację, czy w kole o danym promieniu zachodzi kolizja z innym podanym obiektem. 1) w gms2 można użyć collision_circle_list 2). pozostałe sposoby with (obj_potwor) { if (distance_to_point(other.x, other.y) < 100) { instance_destroy(); }} Ice Cube 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 16 Grudnia 2018 Udostępnij Opublikowano 16 Grudnia 2018 Tutaj dorzucę taką drobną informację bo zapewne @Ice Cube nie będzie wiedział. distance_to_point() które Gnysek podał zwraca odległość od punktu do najbliższej krawędzi bounding boxa obiektu zaś funkcja point_distance() którą także możesz tutaj użyć zwraca już odległość między jednym punktem a drugim. Ice Cube 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ice Cube Opublikowano 22 Grudnia 2018 Autor Udostępnij Opublikowano 22 Grudnia 2018 Dzięki za pomoc 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ę