Sutikku Opublikowano 2 Czerwca 2015 Udostępnij Opublikowano 2 Czerwca 2015 Mam dwa obiekty i oba stale się obracają, w lewo bądź w prawo. Zmienna kat, to zmienna pola widzenia, różne przyjmuje wartości, ale próbowałem dla różnych i coś nie trybi. GML if!( collision_line(x, y, wrog.x, wrog.y, obj_control, 1, 0) ) { dirt=point_direction(x, y, wrog.x, wrog.y); if( abs(angle_difference(direction, dirt)) < kat) { wykryto=1; } } Kod nie działa, jeśli obiekt (są tylko dwa) obraca się w prawo. I w sumie nie wiem o co chodzi. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 2 Czerwca 2015 Udostępnij Opublikowano 2 Czerwca 2015 Zobacz co wypluwa w konsoli show_debug_message() GML show_debug_message( string(abs(angle_difference(direction, dirt))) + " < " + string(kat) ) Wstaw przed tym ifem Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sutikku Opublikowano 2 Czerwca 2015 Autor Udostępnij Opublikowano 2 Czerwca 2015 E, konsola mi uciekła. Nie mogę wyłączyć gmsa, bo włącza mi się bardzo, bardzo długo, a czasem i wcale. Ale tak teraz patrzę i to nie działa tylko przy bardzo małych wartościach zmiennej kat na przykład 0.1. I to nie zawsze, czasem coś załapie. Tak bardzo mi nie zależy na tych ułamkowych wartościach, ale jednak. O, zapomniałem dodać, że oba obiekty się poruszają. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 2 Czerwca 2015 Udostępnij Opublikowano 2 Czerwca 2015 Czegoś nie rozumiem. Spodziewasz się że warunek (zależny od direction które jest w zakresie 0-360) będzie działał dla niewielkich ułamkowych wartości? Mogę od siebie dać dać tip optymalizacyjny: GML dirt=point_direction(x, y, wrog.x, wrog.y); if( abs(angle_difference(direction, dirt)) < kat && !collision_line(x, y, wrog.x, wrog.y, obj_control, 1, 0) ) { wykryto=1; } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 2 Czerwca 2015 Udostępnij Opublikowano 2 Czerwca 2015 Jak ci się konsola buguje (mi też) to ściągnij sobie to https://marketplace.yoyogames.com/assets/318/scratch-pad Wtedy po prostu zamiast pisać show_debug_message() piszesz sp() 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ę