Platyna Opublikowano 7 Sierpnia 2009 Udostępnij Opublikowano 7 Sierpnia 2009 Mam taki problem. Chcę za pomocą collision_point sprawdzić czy w danym punkcie jest kolizja z pewnym obiektem, ale nie chce by funkcja brała pod uwagę dzieci tego obiektu. To musi być ten konkretny obiekt, a nie jego rodzinka! Czegoś takiego zrobić nie mogę:] GML q=collision_point(x,y,obj,1,1); if(q) { if(q.object_index==obj) kolizja=1; } Bo w takim przypadku jeśli w tym miejscu będzie kolizja i z obj i z jego dzieckiem to funkcja może zwrócić akurat id dziecka i wtedy nie wykryje kolizji z obj bo się nie zgodzi object_index. Jaki prosty sposób na to się znajdzie? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
en_6280 Opublikowano 7 Sierpnia 2009 Udostępnij Opublikowano 7 Sierpnia 2009 nierób dzieci :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Platyna Opublikowano 7 Sierpnia 2009 Autor Udostępnij Opublikowano 7 Sierpnia 2009 Są mi potrzebne. To ułatwia wszystko i skraca kod jak cholera w niektórych miejscach. EDIT: Dobra. Po prostu napiszę sobie własną funkcję collision_point Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 7 Sierpnia 2009 Udostępnij Opublikowano 7 Sierpnia 2009 Sprawdzaj kolizję z ID obiektu parenta, bo ID nie jest dziedziczone :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Platyna Opublikowano 7 Sierpnia 2009 Autor Udostępnij Opublikowano 7 Sierpnia 2009 Ale parentów mogę mieć w roomie całą masę. A każdy ma inne id Już sobie napisałem funkcję my_collision, która przegląda wszystkie parenty i sprawdza czy to parent a nie dziecko. Wtedy patrzy na pozycje czy koliduje :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Uzjel Opublikowano 7 Sierpnia 2009 Udostępnij Opublikowano 7 Sierpnia 2009 To się chociaż podziel z nami ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Platyna Opublikowano 7 Sierpnia 2009 Autor Udostępnij Opublikowano 7 Sierpnia 2009 No przecież napisałem jak działa. Ale chcesz to masz kod GML global.tmpx=argument0; global.tmpy=argument1; global.tmpo=argument2; global.tmp=0; with(global.tmpo) { if(object_index==global.tmpo&&xx=global.tmpx&&yy=global.tmpy) global.tmp=1; } return global.tmp; Z tym, że w moim przypadku sprawdzenie kolizji ogranicza się jedynie do porównania współrzędnych, bo mnie to wystarcza :) 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ę