Cuprins:
Video: Week 7, continued 2025
Principiul adăugării vectorilor poate fi util pentru jocul dvs. HTML5 în multe feluri. Pentru unul, poate adăuga un efect de tragere și, astfel, poate conduce la un comportament mai precis al vehiculului terestru. Imaginați-vă că mașina dvs. este blocată într-un cartier rău în mijlocul nopții (din nou). Nu puteți schimba pur și simplu poziția mașinii. Nici măcar nu poți schimba mișcarea.
Ceea ce trebuie să faceți în schimb este să adăugați o forță. Când adăugați forță, adăugați lent la vectorul de mișcare. În cele din urmă, mașina începe să se miște. Dacă opriți aplicarea forței, aceasta se oprește în cele din urmă, deoarece rezistența la vânt și rezistența la rulare încetinesc mașina.
Curse de dragoste
Trageți. Exemplul html arată o mașină realistă care accelerează încet și încetinește până la oprire, pe măsură ce este eliberat acceleratorul (în acest caz săgeata în sus).
Veți avea nevoie să vedeți programul în acțiune pentru a-și aprecia comportamentul.
Trageți jocul var; var barca; funcție Car () {tCar = Sprite nou (joc, "auto. png", 100, 50); tCar. checkKeys = funcția () {consola. log (această viteză); dacă (keysDown [K_LEFT]) {this. changeImgAngleBy (-5);} dacă (keysDown [K_RIGHT]) {this. changeImgAngleBy (5);} dacă (keysDown [K_UP]) { aceasta. addVector (acest lucru imgAngle, 2); } // mutați în direcția curentă acest lucru. addVector (acest lucru imgAngle, 2);} // checkKeys end tCar. checkDrag = functie () { viteza = aceasta. getSpeed (); viteză * =. 95; asta. setSpeed (viteză); } // Sfarsit checkDrag retur tCar;} // end function auto def init () {game = new Scene (); joc. setBG ("# 666666"); masina = masina noua (); joc. start ();} // end init function update () {joc. clar(); mașină. checkKeys (); mașină. checkDrag (); mașină. update ();} // end update
Cum se implementează trageți în joc
Această versiune utilizează o mișcare mai realistă bazată pe forță. Atunci când utilizatorul apasă săgeata în sus, mașina crește viteza. Dacă utilizatorul lasă săgeata în sus apăsată, mașina atinge o viteză maximă în mod natural. Când utilizatorul eliberează săgeata în sus, mașina încetinește treptat și în cele din urmă se oprește. Forțele de forță sunt cheia.
Iată cum funcționează:
-
Construiți un vehicul de bază.
Creați un sprite personalizat cu o metodă checkKeys () și verificați toate tastele săgeți normale. Codul pentru verificarea săgeților stânga și dreapta este exact ceea ce vă așteptați.
-
Deplasați-vă înainte cu un vector de forță.
Codul pentru deplasarea înainte este puțin diferit. În loc să modificați viteza direct, aplicați o forță în direcția actuală a mașinii. Utilizați metoda getImgAngle () a spritelui pentru a determina direcția în care se îndreaptă mașina și adăugați o forță mică în acea direcție.
-
Creați o metodă checkDrag ().
Mașinile nu continuă fără putere. Rezistența la vânt și la sol le va încetini și, în cele din urmă, se vor opri. Simulați diferitele forțe de tragere adăugând o metodă checkDrag () la obiect.
-
Înmulțiți viteza cu un factor de tragere.
Pentru acest exemplu, diferitele forțe de tracțiune vor fura masina cu 5 la sută din viteza sa la fiecare cadru. Amintiți-vă că jocul rulează la 20 de cadre pe secundă, deci forța de tragere este destul de substanțială. Puteți obține efectul de tragere în mai multe moduri, dar cel mai simplu mod este să multiplicați viteza mașinii cu o valoare mai mică decât 1.
-
Fără frâne!
Ce mașină de arcadă cu respect față de sine are frâne? Serios, poate doriți să adăugați o intrare în săgeată în jos, dar nu ar trebui să fie necesară pentru că mașina va încetini singură.
-
Se poate gusta.
Acest exemplu oferă o schiță grosieră, dar puteți modifica un număr de valori pentru a obține exact performanța mașinii pe care o doriți. Puteți simula un motor mai puternic (sau o masă mai mică) prin creșterea vectorului de forță atunci când apăsați accelerația.
Puteți simula o suspendare mai receptivă prin modificarea ratei de cotitură dacă utilizatorul apasă săgețile dreapta sau stânga. De asemenea, puteți simula o mașină mai mult sau mai puțin eficientă prin modificarea raportului de tracțiune. În acest moment, mașina se rotește la orice viteză, dar puteți preveni intrările de săgeată stânga și dreapta, dacă mașina este sub o anumită viteză.