Video: Building Dynamic Web Apps with Laravel by Eric Ouyang 2025
Ciri-ciri menerangkan ciri-ciri sesuatu objek dalam permainan HTML 5 anda, dan kaedah menerangkan tingkah laku. Kaedah adalah fungsi yang berkaitan dengan objek. Anda membina kaedah yang sangat menyerupai mewujudkan harta, tetapi menambah nilai yang mudah, anda memberikan keseluruhan fungsi kepada nama.
Sebagai contoh, versi berikutnya dari critter mempunyai kaedah changeSpeed (). Apabila pengguna menekan anak panah atas, critter akan mempercepatkan, dan apabila pengguna menekan anak panah ke bawah, critter akan melambatkan (dan akhirnya pergi ke arah yang lain). Berikut adalah kod untuk critter dengan kaedah barunya di tempat:
critterChangeSpeed. permainan html var; var critter; fungsi Critter () {tCritter = Sprite baru (permainan, "critter gif", 30, 30); tCritter. kelajuan = 0; tCritter. checkKeys = function () { if (keysDown [K_RIGHT]) { this. kelajuan ++; } if (keysDown [K_LEFT]) { ini. kelajuan--; } tCritter. setSpeed (kelajuan ini); } // kaedah akhir kembali tCritter;} fungsi init () {game = Scene baru (); critter = new Critter (); permainan. mulakan ();} kemas kini fungsi () {permainan. jelas (); critter. checkKeys (); critter. kemas kini ();}
Perhatikan bahawa ia bergerak apabila pengguna menekan kekunci. Untuk ini dan kebanyakan contoh, imej statik tidak akan cukup untuk membantu anda melihat apa yang berlaku.
Dalam versi baru program ini, objek Critter mempunyai tingkah laku baru yang dikenalpasti. Pada dasarnya, satu kaedah tidak lebih daripada fungsi yang ditakrifkan di dalam kelas. Jangan panik. Ia benar-benar tidak sukar untuk difikirkan. Anda memberitahu sistem apa yang perlu dilakukan jika pengguna pernah meminta objek Critter untuk menukar kelajuan.
-
Buat harta baru yang dipanggil checkKeys.
Dalam JavaScript, harta dan kaedah adalah perkara yang sama. Jika anda melampirkan pembolehubah tetap ke objek, itu adalah harta. Jika anda melampirkan fungsi kepadanya, ia adalah kaedah. (Nama-nama harta adalah kata nama biasa. Nama-nama kaedah biasanya kata kerja atau frasa kata kerja.)
-
Bina kaedah baru untuk mengandungi tingkah laku.
changeSpeed bukan harta biasa, tetapi kaedah, jadi anda akan melampirkan fungsi kepadanya. (Untuk jurusan Sains Komputer di luar sana, membina fungsi anonim dengan cepat seperti ini adalah contoh fungsi lambda . Lihatlah pada peperiksaan midterm!)
-
Semak input papan kekunci.
Apabila anda membuat objek Critter, ia sudah tahu cara mencari penekan utamanya sendiri.
-
Tukar kelajuan berdasarkan input papan kekunci.
Jika pengguna menekan kanan, meningkatkan kelajuan (pada arah lalai, kelajuan positif menggerakkan sprit ke kanan).Jika pengguna menekan ke kiri, mengurangkan kelajuan.
-
Gunakan kaedah setSpeed () untuk menukar kelajuan sebenar.
Objek Sprite yang menyediakan pelan tindakan untuk critter sudah mempunyai kaedah setSpeed (). Gunakan kaedah ini untuk membuat objek bergerak pada kelajuan yang ditunjukkan.
-
Di dalam satu kaedah, gunakan kata kunci ini.
Apabila anda membuat kaedah dalam pembina, komputer dapat sedikit keliru tentang nama-nama benda. Untuk sebahagian besar, anda menambah barangan kepada pengecut sementara yang dipanggil tCritter. Untuk menghapuskan kekeliruan, jika anda perlu merujuk kepada sifat atau kaedah lain objek yang anda ubah, gunakan kata kunci umum ini dan bukannya nama sebenar objek.
-
Ubah suai fungsi kemas kini () supaya pengkritik memeriksa papan kekunci.
Ingat, fungsi utama kemas kini () berlaku sekali setiap bingkai. Apa-apa sahaja yang anda ingin lakukan sebaik sahaja setiap bingkai perlu dipanggil dalam kemas kini (). Tambah panggilan ke critter. checkKeys (). Ini akan mengingatkan penakut untuk memeriksa papan kekunci setiap bingkai dan menukar kelajuannya seperti yang diperlukan.
