No więc tak. Postanowiłem powoli ruszyć z miejsca z moim patyczakiem.
Chcę mu dorobić grawitację oraz system kolizji. Chcę mu dorobić tzn. nie biorę pod uwagę gotowych silników.
Ogólny zarys pomysłu jest taki:
Grawitacja:
sprawdzać czy patyczak nie koliduje z czymś będąc nad tym czymś, jeśli nie koliduje to go przyspieszać w dół.
Jeśli wykryję kolizję to speed w pionie na 0 i być może jakiś damage.
Jak często to sprawdzać? w jakimś konkretnym odstępie czasowym? requestAnimationFrame daje mi obecnie 60 klatek, ale w nim jedynie odświeżam obraz.
Obiekt musi opadać ruchem jednostajnie przyspieszonym o ile pamiętam bodaj niecale 10m/s^2.
Jak i z jaką częstotliwością to liczyć, wiadomo, że musi być dość często, aby nie było skoków..
Kolizje:
No właśnie, obiekt obudować w prostokąt i sprawdzać jego brzegi, rogi...
Muszę każdy obiekt sprawdzać z pozostałymi i to nie tylko jeden punkt ale po kilka, kiedy to robić i jak często? x razy na sekundę każdy z każdym da dziesiątki jak nie setki porównać na jedno sprawdzenie, a ile ich na sekundę? A może sprawdzać tylko obiekty, które się poruszają i to tylko podczas ruchu? Jeśli tak to też będę musiał skupić się na ogarnięciu każdej sytuacji kiedy obiekt się może poruszyć, a nie wiem jak wiele ich może być, dla przykładu nawet podczas spadania co muszę robić bardzo często, żeby mi nie wpadł w podłoże.
Jak się za to zabrać i czym kierować?
Użytkownik grankee edytował ten post 21.03.2016 02:58