Isi kandungan:
Video: Leap Motion SDK 2025
Prinsip penambahan vektor boleh berguna untuk permainan HTML5 anda dalam pelbagai cara. Untuk satu, ia boleh menambah kesan seret dan dengan itu, membawa kepada tingkah laku kenderaan darat yang lebih tepat. Bayangkan kereta anda terjebak dalam kejiranan yang buruk di tengah malam (sekali lagi). Anda tidak boleh menukar kedudukan kereta secara langsung. Anda tidak boleh mengubah usulnya.
Apa yang anda perlu lakukan hanyalah menambahkan daya. Apabila anda menambah daya, anda perlahan-lahan menambah vektor gerakan. Akhirnya, kereta mula bergerak. Sekiranya anda berhenti menggunakan daya, ia akan berhenti apabila rintangan angin dan rintangan bergelincir melambatkan kereta.
Perlumbaan seret permainan
Seret. Contoh html menunjukkan kereta realistik yang mempercepatkan perlahan dan melambatkan berhenti sebagai pemecut (dalam kes ini, anak panah atas) dibebaskan.
Anda benar-benar perlu melihat program dalam tindakan untuk menghargai kelakuannya.
Seret permainan var; var boat; fungsi Kereta () {tCar = Sprite baru (permainan, "kereta.png", 100, 50); tCar. checkKeys = function () {console. log (kelajuan ini); jika (keysDown [K_LEFT]) {ini. changeImgAngleBy (-5);} if (keysDown [K_RIGHT]) {this. changeImgAngleBy (5);} if (keysDown [K_UP]) { ini. addVector (ini imgAngle, 2); } // bergerak dalam arah semasa ini. addVector (ini imgAngle, 2);} // check endKeys tCar. checkDrag = function () { speed = this. getSpeed (); kelajuan * =. 95; ini. setSpeed (kelajuan); } // end checkDrag return tCar;} // end car def function init () {game = Scene new (); permainan. setBG ("# 666666"); kereta = Kereta baru (); permainan. mulakan ();} / update akhir fungsi panas () {permainan. jelas (); kereta. checkKeys (); kereta. checkDrag (); kereta. kemas kini ();} // akhir kemas kini
Bagaimana untuk melaksanakan seretan dalam permainan
Versi ini menggunakan gerakan berasaskan daya yang lebih realistik. Apabila pengguna menekan anak panah atas, kereta membina kelajuan. Jika pengguna meninggalkan anak panah atas ditekan, kereta mencapai kelajuan tertinggi secara semulajadi. Apabila pengguna melepaskan anak panah atas, kereta perlahan-lahan melambatkan dan akhirnya berhenti. Vektor kuasa adalah kunci.
Berikut adalah cara ia berfungsi:
-
Membina kenderaan asas.
Buat sprit tersuai dengan kaedah checkKeys (), dan semak semua kekunci anak panah biasa. Kod untuk memeriksa anak panah kiri dan kanan adalah tepat apa yang anda harapkan.
-
Bergerak ke hadapan dengan vektor daya.
Kod untuk bergerak ke hadapan sedikit berbeza. Daripada sekadar mengubah kelajuan secara langsung, gunakan daya dalam arah semasa kereta. Gunakan kaedah sprit getImgAngle () untuk menentukan arah mana kereta menunjuk, dan tambahkan daya kecil ke arah itu.
-
Buat kaedah checkDrag ().
Kereta tidak hanya terus tanpa kuasa. Angin dan rintangan tanah akan melambatkan mereka, dan akhirnya mereka akan berhenti. Simulasi daya seret pelbagai dengan menambahkan kaedah checkDrag () ke objek anda.
-
Kalikan kelajuan dengan faktor seret.
Untuk contoh ini, pelbagai daya seret akan merompak kereta sebanyak 5 peratus dari kelajuan setiap bingkai. Ingat bahawa permainan berjalan pada 20 bingkai sesaat, jadi daya seret agak besar. Anda boleh mencapai kesan seret dalam banyak cara, tetapi cara yang paling mudah adalah untuk membiak kelajuan kereta dengan nilai lebih kecil daripada 1.
-
Tiada brek!
Apa kereta arked yang menghormati diri dengan brek? Secara serius, anda mungkin mahu menambahkan input anak panah bawah, tetapi ia tidak sepatutnya diperlukan kerana kereta akan melambatkan sendiri.
-
Musim untuk rasa.
Contoh ini menyediakan garis kasar, tetapi anda boleh mengubah beberapa nilai untuk mendapatkan persembahan kereta yang tepat. Anda boleh mensimulasikan enjin yang lebih kuat (atau jisim yang lebih kecil) dengan meningkatkan vektor daya apabila anda menekan pemecut.
Anda boleh mensimulasikan penggantungan yang lebih responsif dengan mengubah laju putaran jika pengguna menekan anak panah kanan atau kiri. Anda juga boleh mensimulasikan kereta yang lebih atau kurang efisien dengan mengubah nisbah drag. Sekarang, kereta bertukar pada sebarang kelajuan, tetapi anda boleh menghalang input kiri dan kanan jika kereta berada di bawah kelajuan tertentu.
