![]() |
[js] [jquery] Mapa 2D. Stały ruch bohatera - Wersja do druku +- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl) +-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www) +--- Dział: xHTML, CSS, JavaScript (https://www.webmastertalk.pl/forum-xhtml-css-javascript) +--- Wątek: [js] [jquery] Mapa 2D. Stały ruch bohatera (/thread-js-jquery-mapa-2d-staly-ruch-bohatera) |
[js] [jquery] Mapa 2D. Stały ruch bohatera - Puf - 06-05-2013 RE: [js] [jquery] Mapa 2D. Stały ruch bohatera - Kartofelek - 06-05-2013 Mi się zawsze wydawało, że gry w JS działają na bardzo starej podstawowej zasadzie gier, czyli głównej pętli. Szło to mniej więcej tak: Jest sobie pętla, która wykonuje zadania: 1) policz sobie coś tam 2) sprawdź co nacisnął gracz 3) przesuń gracza, potworki itp w zależności od pkt 1,2 4) narysuj klatkę 5) wróć do 1 pkt czyli masz różne metody np sprawdzenia klawiszy, poruszenia potworków, narysowania klatki gry. I to wszystko robisz w głównej POJEDYNCZEJ pętli (u ciebie setTimeout). Oczywiście to jest taka podstawa, bo w js później korzysta się z różnych technik typu "rysuję kawałek klatki a nie całą" itp. Ty zrobiłeś naście settimeoutów które nie wiadomo kiedy są odpalane itp. Zrob sobie jedną metodę która odpali metody sprawdzania, przesowania, rysowania itp, a nastepnie wykona jedno settimeout na siebie sama. Ah i jeszcze jedno. Zamiast setTimeout zainteresuj się requestAnimationFrame Tak szczerze to ja bym pewnie skorzystał z jakiegoś gotowego silnika typu Stencil czy podobne (swego czasu baaaardzo pięknie mi się robiło w GameMakerze). |