


Siri jawatan ini akan menunjukkan kepada anda cara membuat permainan Windows 8 yang mudah, menggunakan HTML5, JavaScript, WinJS, dan CreateJS
.
Permainan ini didasarkan pada permainan sampel XNA "Lab Wars Catapult". Kami akan menggunakan semula aset dari permainan itu kerana kami membangunkan versi baru untuk Windows 8 yang berdasarkan teknologi web.
Dalam siaran ini, kami akan bertindak balas terhadap input pengguna dan membuat perkara sedikit lebih meriah dengan menambah bunyi.
Kunci Takeaways
Mengendalikan Input Pengguna
Sudah tentu terdapat banyak cara kita dapat menembak kerja yang bertujuan-berasaskan rawak, berasaskan masa, berasaskan ketepatan (mis. "Klik ... sekarang!"), Tetapi dalam hal ini kita akan membiarkan pengguna melukis garis yang menunjukkan kedua-dua arah dan kelajuan .
Pertama, mari tambahkan pembolehubah baru berhampiran bahagian atas lalai.js:
Windows 8 menyokong beberapa cara untuk menarik - tetikus, sentuhan, pen - dan permainan kami perlu cukup fleksibel untuk menyokong mana -mana pengguna. Nasib baik, sistem MSPointer menggabungkan sokongan untuk semua ini. Kami akan menggunakan mspointerdown/up untuk memulakan dan menamatkan sasaran, ditambah mspointermove untuk memberikan maklum balas sebagai pengguna menyesuaikan matlamat.
Dengan cara ini, terdapat juga sokongan yang hebat melalui MSGESTURE untuk mengesan gerak isyarat seperti TAP, Double Tap, dan lain-lain. Contoh yang baik untuk mengendalikan input dan gerak isyarat adalah sampel "ballineight" pada MSDN.
Peristiwa -peristiwa ini digunakan dengan menunjuk kepada fungsi pendengar, yang dipanggil ketika mereka api. Mari kita jaga itu sekarang, menambah berhampiran bahagian atas fungsi ():
Dan sekarang untuk fungsi itu sendiri: tambahkan di mana anda suka, tetapi saya meletakkan antara kemas kini () dan fireshot ():
Perhatikan latihan ditinggalkan di sini. Untuk kesederhanaan, saya tidak menunjukkan teks dengan AIM % dan/atau melukis anak panah yang bertujuan semasa fungsi penyesuaian (). Teruskan dan cuba tambahnya - dari bahagian -bahagian terdahulu, kami sudah menggunakan teknik yang sama yang anda perlukan.
Dan fungsi untuk membantu kita mengira matlamat:
Sekali lagi, peraturan kesederhanaan hari ini dan ini hanya untuk Pemain 1, tetapi inilah yang berlaku:
Kami sebelum ini menambah beberapa kod sementara untuk mengemas kini () untuk mempunyai pemain 1 sentiasa api secara rawak. Sekarang kita boleh menggantikannya untuk menggunakan AIMVector baru:
Teruskan dan jalankan permainan ...
Sekarang anda boleh menggunakan tetikus, pen, atau sentuhan untuk mengawal pukulan!
"Saya mesti mendengar perkara!" - Menambah bunyi
Tugas kami sebagai permainan dev tidak dilakukan sehingga kami mempunyai bunyi. Kami telah menambah fail bunyi di Bahagian 2 jadi mari kita ambil langkah seterusnya dengan memuatkannya.
Pertama, beberapa pembolehubah dalam lalai.js untuk menjaga perkara yang kemas:
Ingat dari Bahagian 2 bahawa kami telah mengikat Preloadjs untuk memastikan sumber kami siap apabila permainan bermula? Kita boleh menggunakan pendekatan yang sama dengan bunyi, jadi mari kita tambahkannya ke manifes:
Untuk menggunakan fail ini, kami akan membuat contoh elemen audio HTML. Cerita panjang pendek, jika anda hanya membuat satu contoh audio setiap fail bunyi, anda mungkin akan berjalan ke dalam keratan sebagai satu bunyi gagal bermain sebelum permainan terdahulu contohnya selesai. Terdapat beberapa pendekatan untuk menangani perkara ini (contohnya, lihat "Kawalan Audio dan JavaScript HTML5"
), tetapi kita akan melakukan perkara yang mudah & yang tidak cekap menggunakan satu contoh setiap kali kita memainkan bunyi.
Perhatikan, kami tidak akan menggunakan Soundjs (bahagian lain dari CreateJs) dalam contoh ini, tetapi sudah tentu anda dialu -alukan untuk mengambilnya untuk berputar!
Tambahkan fungsi penolong (fail) playsound:
Itu sahaja! Sekarang kita hanya memanggilnya, menyatakan yang berterusan menunjuk ke fail yang betul. Kami akan melakukan ini di beberapa tempat.
Pertama, tambahkan panggilan ke Fireshot ():
Sekarang, Processhit ():
Seperti yang disebutkan oleh komen, anda boleh menggunakan bunyi "hit" dan bukannya "meletup" jika anda ingin mengambil beberapa hits untuk memusnahkan catapult.
Dan akhirnya, bermain akhir kemenangan atau kehilangan bunyi di endgame ():
Teruskan dan berikannya untuk mencuba sesuatu.
permainan di ... dan pada ... dan pada ...
Tahniah! Anda telah membuat permainan!
Kami telah meliputi banyak tanah dalam jawatan ini, tetapi seperti apa -apa, ada
banyak perkara lain untuk dicuba. Mengapa tidak menikam sebahagian daripada mereka?
Pelarasan Skrin - Potret/Landskap, Snapped/Diisi. Peluang besar untuk belajar mengenai pertanyaan media CSS!
Nikmati! Tidak sabar -sabar untuk mendengar perkara baru yang hebat yang anda tambahkan!
soalan yang sering ditanya mengenai membuat permainan Windows 8 yang mudah dengan JavaScript
Bagaimana saya boleh menambah pergerakan yang lebih kompleks ke watak permainan saya?
Untuk menambah pergerakan yang lebih kompleks ke watak permainan anda, anda boleh menggunakan kaedah 'RequestAnimationFrame'. Kaedah ini membolehkan anda membuat animasi yang lebih lancar dengan memanggil fungsi animasi anda sebelum mengecat semula penyemak imbas. Anda boleh menggunakan kaedah ini untuk mengemas kini kedudukan aksara permainan anda berdasarkan input pengguna atau logik permainan. Sebagai contoh, anda boleh menggunakannya untuk membuat lompat watak apabila pengguna menekan kekunci tertentu.
Bagaimana saya boleh menambah kesan bunyi ke permainan saya?
Menambah kesan bunyi ke permainan anda dapat meningkatkan pengalaman permainan. Anda boleh menggunakan objek 'Audio' di JavaScript untuk memainkan fail bunyi. Untuk memainkan bunyi, anda perlu membuat objek audio baru dan memanggil kaedah 'bermain'. Anda juga boleh mengawal kelantangan, gelung bunyi, dan menghentikan bunyi menggunakan kaedah 'Volume', 'Loop', dan 'Jeda'.
Untuk membuat permainan anda responsif, anda boleh menggunakan sifat 'window.innerwidth' dan 'window.innerheight' dalam JavaScript. Ciri -ciri ini mengembalikan lebar dan ketinggian tetingkap penyemak imbas masing -masing. Anda boleh menggunakan sifat -sifat ini untuk menyesuaikan saiz dan kedudukan elemen permainan anda berdasarkan saiz tetingkap penyemak imbas.
Bagaimana saya boleh menambah fungsi multiplayer ke permainan saya? Permainan anda boleh menjadi agak rumit. Anda perlu menggunakan WebSockets untuk membolehkan komunikasi masa nyata antara pemain. Anda juga perlu mengendalikan isu -isu seperti latensi dan penyegerakan.
Bagaimana saya boleh mengoptimumkan permainan saya untuk prestasi yang lebih baik?
Terdapat beberapa cara untuk mengoptimumkan permainan anda untuk prestasi yang lebih baik. Salah satu cara ialah menggunakan kaedah 'RequestAnimationFrame' untuk animasi anda. Kaedah ini lebih cekap daripada 'setInterval' atau 'setTimeout' kerana ia menjeda animasi apabila pengguna beralih ke tab lain. Cara lain adalah untuk meminimumkan penggunaan pembolehubah dan penutupan global, kerana mereka boleh mengambil banyak ingatan.
Bagaimanakah saya boleh menambah kawalan sentuhan ke permainan saya? Peristiwa -peristiwa ini dipecat apabila pengguna menyentuh skrin, menggerakkan jari mereka, dan mengangkat jari masing -masing. Anda boleh menggunakan acara ini untuk mengawal pergerakan watak permainan anda.
Bagaimana saya boleh menerbitkan permainan saya di kedai Windows? Akaun pemaju Windows Store. Sebaik sahaja anda mempunyai akaun, anda boleh menghantar permainan anda untuk pensijilan. Sekiranya permainan anda melepasi proses pensijilan, ia akan diterbitkan di kedai Windows. , anda perlu menggunakan ruang nama Windows.applicationModel.Store. Ruang nama ini menyediakan kelas dan kaedah yang anda perlukan untuk melaksanakan pembelian dalam aplikasinya. ApplicationModel.UserDataAccounts Namespace. Ruang nama ini menyediakan kelas dan kaedah yang anda perlukan untuk melaksanakan pencapaian.
Bagaimana saya boleh menguji permainan saya pada peranti yang berbeza? . Alat ini membolehkan anda jauh dari debug dan menguji permainan anda pada peranti Windows.
Atas ialah kandungan terperinci Membuat permainan Windows 8 yang mudah dengan JavaScript: Input dan Suara. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Penjelasan terperinci mengenai kaedah penggantian rentetan javascript dan Soalan Lazim Artikel ini akan meneroka dua cara untuk menggantikan watak rentetan dalam JavaScript: Kod JavaScript dalaman dan HTML dalaman untuk laman web. Ganti rentetan di dalam kod JavaScript Cara yang paling langsung ialah menggunakan kaedah pengganti (): str = str.replace ("cari", "ganti"); Kaedah ini hanya menggantikan perlawanan pertama. Untuk menggantikan semua perlawanan, gunakan ungkapan biasa dan tambahkan bendera global g: str = str.replace (/fi

Tutorial ini menunjukkan kepada anda bagaimana untuk mengintegrasikan API carian Google tersuai ke dalam blog atau laman web anda, menawarkan pengalaman carian yang lebih halus daripada fungsi carian tema WordPress standard. Ia menghairankan mudah! Anda akan dapat menyekat carian ke y

Jadi di sini anda, bersedia untuk mempelajari semua perkara ini yang dipanggil Ajax. Tetapi, apa sebenarnya? Istilah Ajax merujuk kepada kumpulan teknologi longgar yang digunakan untuk membuat kandungan web yang dinamik dan interaktif. Istilah Ajax, yang asalnya dicipta oleh Jesse J

Siri artikel ini ditulis semula pada pertengahan 2017 dengan maklumat terkini dan contoh segar. Dalam contoh JSON ini, kita akan melihat bagaimana kita dapat menyimpan nilai mudah dalam fail menggunakan format JSON. Menggunakan notasi pasangan nilai utama, kami boleh menyimpan apa-apa jenis

Leverage JQuery untuk Layouts Laman Web yang mudah: 8 Plugin Essential JQuery memudahkan susun atur laman web dengan ketara. Artikel ini menyoroti lapan plugin jQuery yang kuat yang menyelaraskan proses, terutamanya berguna untuk penciptaan laman web manual

Mata teras Ini dalam JavaScript biasanya merujuk kepada objek yang "memiliki" kaedah, tetapi ia bergantung kepada bagaimana fungsi dipanggil. Apabila tidak ada objek semasa, ini merujuk kepada objek global. Dalam penyemak imbas web, ia diwakili oleh tetingkap. Apabila memanggil fungsi, ini mengekalkan objek global; tetapi apabila memanggil pembina objek atau mana -mana kaedahnya, ini merujuk kepada contoh objek. Anda boleh mengubah konteks ini menggunakan kaedah seperti panggilan (), memohon (), dan mengikat (). Kaedah ini memanggil fungsi menggunakan nilai dan parameter yang diberikan. JavaScript adalah bahasa pengaturcaraan yang sangat baik. Beberapa tahun yang lalu, ayat ini

JQuery adalah rangka kerja JavaScript yang hebat. Walau bagaimanapun, seperti mana -mana perpustakaan, kadang -kadang perlu untuk mendapatkan di bawah tudung untuk mengetahui apa yang sedang berlaku. Mungkin kerana anda mengesan bug atau hanya ingin tahu tentang bagaimana jQuery mencapai UI tertentu

Siaran ini menyusun helaian cheat berguna, panduan rujukan, resipi cepat, dan coretan kod untuk perkembangan aplikasi Android, BlackBerry, dan iPhone. Tiada pemaju harus tanpa mereka! Panduan Rujukan Gesture Touch (PDF) Sumber yang berharga untuk desig


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

mPDF
mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

Dreamweaver Mac版
Alat pembangunan web visual

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa
