33 Timer și cronometru alternativ, cod pentru jocuri - blog despre dezvoltarea jocurilor

Salutări pentru dvs., prieteni, astăzi vă voi spune despre un astfel de lucru într-o clipă, cum ar fi Timer, pe care nu îl folosesc niciodată. Este mai convenabil pentru mine să folosesc un mod alternativ. M-am obișnuit așa cum va fi mai convenabil pentru tine, așa vei folosi.







Pentru a crea un cronometru, trebuie să creați o variabilă de tip Timer, de exemplu:
Timer var: Timer = Timer nou (5000, 3);
În paranteze, primul număr "5000" este întârzierea de 5 secunde între operațiile de temporizare. Al doilea număr "3" este numărul de repetări.

Există 2 evenimente pentru timer:
TimerEvent.TIMER - se declanșează de fiecare dată când se repetă timerul (de fiecare dată când se repetă)
TimerEvent.TimerEvent.TIMER_COMPLETE - declanșat când cronometrul se termină.

Există, de asemenea, diferite metode pentru cronometru, de exemplu:
timer_name. strat () - începe un cronometru
timer_name. stop () - oprește temporizatorul
timer_name. reset () - resetează temporizatorul.

Salut! Explicați, vă rog, ce se utilizează pentru apariția adversarilor pe scenă la un moment dat? De exemplu, 2 dușmani au zburat, după 20 de secunde vor apărea alții, după alte 5 secunde un șef va apărea etc. Ce este cel mai convenabil de utilizat? Pot rula un cronometru și să țină evidența căpușelor sale înainte de sfârșitul jocului, sau cum pot să fiu mai bine?

Probabil cel mai simplu mod este de a realiza un temporizator de la începutul până la sfârșitul fiecărui nivel și pentru a crea condițiile pentru a declanșa la un anumit al doilea (5, 20, 100 ...) Acesta este modul în care singurul număr să fie ... Cred că va fi necesar pentru apariția fiecărui pachet de dușmani face funcția și vney addChild și specificați coordonatele dușmanilor?

nu neapărat o secundă, puteți, de asemenea, cadre. Pe scurt, porniți cronometrul și când faceți clic pe scena, faceți un cadru de urmărire. și acolo voi sărbătoriți intervalele atunci când trebuie să ieșiți din noi dușmani.






Bilele de dușmani pot fi înțepenite, ca în lecția despre zăpadă, unde există zăpadă. Puteți adăuga diferiți dușmani la cadrele vecine, astfel încât să nu scrieți funcții complexe. Puteți adăuga 60 de inamici în 1 secundă la fps - 60. Este o mulțime. Dar în ceea ce privește optimizarea este greu de spus cât de bine. Redresarea treptată a ratei de cadre, sau unică. În general, potrivit cărții lui Job Makar despre as2.0, el a spus că trebuie să descărcați toate informațiile despre toate lucrurile în avans la obiecte. Și, dacă este necesar, să le activați și să adăugați o imagine, iar când nu este nevoie, înghetați și curățați imaginea. Să nu creezi din nou în mod constant. De exemplu, există un obiect care stochează lățimea, înălțimea coordonatelor, viteza, AI, etc. inamic. La momentul potrivit, adăugați o imagine prin addChild și activați-o când a părăsit scena sau este ucisă, doar dacă ați șters imaginea, dar nu ștergeți restul. Când aveți nevoie de ea din nou, adăugați din nou imaginea și puteți schimba coordonatele. În ceea ce privește optimizarea, ar trebui să încercați să nu urcați în bibliotecă și să folosiți totul de mai multe ori

De asemenea, ca opțiune, cu zeroarea temporizatorului și adăugarea de spații de timp prin spații. Ie aveți ordinea inamicilor și diferența dintre ele. "De exemplu, au zburat 2 adversari, după 20 de secunde, altele vor apărea, după încă 5 secunde, șeful va apărea". Doi dușmani au zburat la 5 secunde. Resetați cronometrul la 0. 20 secunde - 5 adversari ai celorlalți. Resetați cronometrul. 5 secunde - șeful, resetați cronometrul. și așa mai departe. Și o organizație pentru acest lucru poate fi făcută interesantă) Dar acesta este jocul este făcut. Uneori faceți așa cum pare corect și apoi în curs de dezvoltare, îl modificați deja într-un alt mod.

Cred că opțiunea de resetare la zero - cel mai mult este doar cum se face acest lucru, de exemplu, fiecare al doilea zbor al cincilea are nevoie de dușmani după reducerea la zero, nu este clar dacă creați mai multe funcții pentru a declanșa cronometrul sec 5-a. toți vor fi concediați imediat)

dacă (timer == 5)
enemyMuve1 ();
enemyMuve2 ();
>

nu prea înțelegi. "Ai ordinea apariției dușmanilor" adică. Starea dvs. dacă (timer == 5) nu urmărește ordinea. Aici, de asemenea, pot fi reparate prin matrice. 1 lot de interval de inamici / timp de la începutul jocului, 2 dușmani ai partidului / span din primul lot de dușmani, dușmani ai partidului 3 / span de la al doilea, 4 - sef / span de la terța parte. Numărul lotului poate fi un index de matrice. conține timp și altceva (funcția de a adăuga dușmani, o grămadă de funcții diferite, o listă de dușmani etc.). Și când cronometrul funcționează mai întâi cu elementul șirului 1, iar în cazul în care timpul este același, se duce într-un singur lot, temporizator expiră, indicele matrice crește cu 1, și așa mai departe.







Trimiteți-le prietenilor: