Exigo Opublikowano 30 Sierpnia 2008 Udostępnij Opublikowano 30 Sierpnia 2008 Załóżmy że jest obiekt. Obiekt ten jest pociskiem o wysokiej 'prędkości'. Istnieje też drugi obiekt. Jest to ściana. Pocisk powinien ze ścianą kolidować... no ale niestety wysoka prędkość powoduje, iż obiekt 'przeskakuje' przez co nie dochodzi do kolizji... Jak rozwiązać ten problem? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Harrrry Opublikowano 30 Sierpnia 2008 Udostępnij Opublikowano 30 Sierpnia 2008 Sprawdzać kolizję w stepie, sprawdzając np. 10 punktów w linii od xprevious/yprevious do x/y. Albo użyć collision_line, jeśli obiekt to jakiś mały pocisk. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
lenin Opublikowano 30 Sierpnia 2008 Udostępnij Opublikowano 30 Sierpnia 2008 ewentualnie zmniejsz prędkość pocisku i zwiększ room_speed. Podobno to też pomaga Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 1 Września 2008 Udostępnij Opublikowano 1 Września 2008 lenin: To logicznie myśląc musi pomóc :P Ale zależy, jaka to gra. Może ta gra wyrabia maks 30FPS? I topic: (piszę z pamięci, nie sprawdzałem ;P Ale powinno zadziałać...) GML (objpocisk Create) old_x = x; old_y = y; GML (objpocisk Step) if(speed > 0) //Czy pocisk się rusza... { if(collision_line(x, y, old_x, old_y, obj_sciana, 1, 1)) //Nie pamiętam, jakie dokładnie argumenty ma ta funkcja :P Także sprawdź... { instance_destroy(); } } //Tutaj inne instrukcje.... old_x = x; //A to na końcu stepa. Ewentualnie w End Step... old_y = y; 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ę