Rumah Kewangan Peribadi Bina Animasi Multi-Negara dalam Permainan HTML5 Anda

Bina Animasi Multi-Negara dalam Permainan HTML5 Anda

Video: Technology Stacks - Computer Science for Business Leaders 2016 2025

Video: Technology Stacks - Computer Science for Business Leaders 2016 2025
Anonim
Dengan semua gerakan ini berlaku dalam permainan HTML5 anda, anda pasti mahu pelbagai animasi yang canggih. Anda boleh menggunakan fungsi changeImage () atau setImage () (mereka mempunyai dua nama berbeza untuk perkara yang sama) untuk menukar imej yang dikaitkan dengan sprite pada bila-bila masa. Kadang-kadang, anda mahu animasi yang lebih canggih. Lihatlah walkAnim. html.

Terdapat banyak imej yang bertukar di sini. Animasi berjalan sebenarnya adalah satu siri lapan gambar yang berbeza dengan cepat bertukar untuk memberikan ilusi berjalan. Terdapat 4 animasi yang berbeza (satu untuk setiap arah kardinal), jadi itu adalah 32 imej yang berbeza. Walau bagaimanapun, jika anda melihat kod, anda akan melihat bahawa sprite watak mengandungi hanya satu imej.

Imej ini adalah animasi komposit. Setiap baris mewakili arah, dan setiap baris mengandungi kitaran, atau satu siri imej, yang dimaksudkan untuk diulang.

The rpg_sprite_walk. Imej png dicipta oleh Franck Dupont. Dia dengan murah hati menyiarkan gambar ini pada OpenGameArt. tapak org, di mana dia dikenali sebagai "Arikel. "Dia mengeluarkan kerjanya di bawah satu lesen khas yang disebut" Atribusi - Kongsi Sama. "Ini bermakna orang boleh menggunakan atau mengulang semula kerjanya secara percuma, selagi mereka menyifatkan pengarang asal.

Imej latar belakang adalah oleh penulis yang bernama Hyptosis, yang mengeluarkan imej di bawah domain awam di laman web yang sama. Penyumbang berbakat dan bijaksana seperti Franck dan Hyptosis adalah kunci kepada komuniti kreatif yang berkembang maju. Rasa bebas untuk melihat tapak seni permainan terbuka untuk karya seni yang lebih hebat untuk digunakan dalam permainan anda, tetapi pastikan untuk mengucapkan terima kasih dan atribut penulisnya sewajarnya.

The simpleGame. Perpustakaan js mengandungi ciri untuk membuat animasi multi-imej dengan mudah. Lihat kod untuk walkAnim. html untuk melihat cara kerjanya:

walkAnim. permainan html var; var latar belakang; aksara var; fungsi init () {game = scene baru (); latar belakang = Sprite baru (permainan, "rpgMap. png", 800, 600); latar belakang. setSpeed ​​(0, 0); latar belakang. setPosition (400, 300);

character = new Sprite (permainan, "rpg_sprite_walk. Png", 192, 128); aksara. loadAnimation (192, 128, 24, 32); aksara. generateAnimationCycles (); aksara. renameCycles (Array baru ("turun", "naik", "kiri", "kanan")); aksara. setAnimationSpeed ​​(500); / / memulakan watak dijeda. setPosition (440, 380); watak. setSpeed ​​(0); aksara. jedaAnimasi (); aksara. setCurrentCycle ("bawah"); Permainan.mulakan ();} / update akhir fungsi panas () {permainan. jelas (); checkKeys (); latar belakang. kemas kini (); watak. kemas kini ();} // end update function checkKeys () {if (keysDown [K_LEFT]) { character. setSpeed ​​(1); aksara. watak playAnimation (). setMoveAngle (270); aksara. setCurrentCycle ("kiri"); } jika (keysDown [K_RIGHT]) {character. setSpeed ​​(1); watak. watak playAnimation (). setMoveAngle (90); watak. setCurrentCycle ("right");} if (keysDown [K_UP]) {character. setSpeed ​​(1); watak. watak playAnimation (). setMoveAngle (0); watak. setCurrentCycle ("up");} if (keysDown [K_DOWN]) {character. setSpeed ​​(1); watak. watak playAnimation (). setMoveAngle (180); watak. setCurrentCycle ("down");} if (keysDown [K_SPACE]) { character. setSpeed ​​(0); aksara. jedaAnimasi (); aksara. setCurrentCycle ("bawah"); }} Anda perlu mengambil beberapa langkah baru untuk membina animasi, tetapi hasilnya bernilai sepenuhnya.

Dapatkan imej animasi.

  1. Anda boleh membuat imej sendiri, atau melihat sumber yang sangat baik seperti OpenGameArt. org untuk mencari kerja yang dilakukan oleh orang lain. Sudah tentu, anda mempunyai tanggungjawab untuk menghormati pekerjaan orang lain, tetapi ada beberapa karya hebat yang terdapat dalam lesen yang sangat permisif hari ini. Pastikan imej diatur dalam baris dan lajur dan setiap sub-imej adalah saiz yang sama.

    Anda mungkin perlu memusingkan dengan editor imej anda untuk memastikan imej itu dalam format yang betul dan anda tahu saiz setiap sub-imej.

    Lampirkan imej animasi kepada sprite anda.

  2. Anda akan melampirkan keseluruhan imej ke sprite anda, tetapi hanya memaparkan sebahagian kecilnya pada satu-satu masa. Ini lebih mudah daripada bekerja dengan sekumpulan imej, dan ia juga lebih cekap.

    Buat objek animasi dengan kaedah loadAnimation ().

  3. Apabila anda menggunakan kaedah loadAnimation () objek, anda membuat alat animasi yang membantu mengurus animasi. Dua parameter pertama adalah saiz keseluruhan imej (lebar dan ketinggian), dan kedua parameter kedua ialah lebar dan ketinggian setiap sub-imej. Jika anda mendapat nilai-nilai ini salah, animasi akan muncul untuk tatal. Terus bermain sehingga anda mendapat hak nilai berikut:

    aksara. loadAnimation (192, 128, 24, 32);

    Membina kitaran animasi.
    
  4. Setiap baris akan berubah menjadi kitaran animasi. Versi lalai (tanpa sebarang parameter) berfungsi dengan baik dalam kebanyakan situasi. Lihat dokumentasi untuk kegunaan yang lebih maju dari alat ini:

    aksara. generateAnimationCycles ();

    Namakan semula kitaran.
    
  5. Animasi yang dibuat dengan perintah buildAnimationCycles () mempunyai nama lalai, tetapi hampir selalu lebih baik untuk melampirkan nama anda sendiri, lebih bermakna. Tambah array dengan nama yang menunjukkan setiap baris mewakili:

    aksara. renameCycles (Array baru ("turun", "naik", "kiri", "kanan"));

    Tetapkan kelajuan animasi.
    
  6. Kecepatan animasi menunjukkan berapa pantas animasi akan dijalankan. Nilai 500 seolah-olah sesuai untuk kebanyakan aplikasi, tetapi anda boleh menyesuaikan nilai ini supaya kitaran berjalan kaki kelihatan seperti ia sebenarnya menggalakkan watak:

    watak.setAnimationSpeed ​​(500);

    Tetapkan kitar yang anda hendak paparkan.
    
  7. Kaedah setCurrentCycle () membolehkan anda memilih kitaran dengan salah satu nama yang anda nyatakan dalam langkah renameAnimationCycles ():

    . setCurrentCycle ("bawah");

    Gunakan arahan pauseAnimation () untuk menghentikan animasi.
    
  8. PautanAnimasi () perintah membuat animasi berhenti sementara.

    Gunakan playAnimation () untuk memulakan animasi.

  9. Kaedah ini akan terus menggelung kitaran animasi semasa.

    Seperti yang anda dapat lihat, animasi menambah banyak keseronokan kepada permainan dan membuka seluruh dunia permainan peranan kepada repertoar anda.

Bina Animasi Multi-Negara dalam Permainan HTML5 Anda

Pilihan Editor

Asas Kecederaan Tangan dan pergelangan tangan untuk Ujian Pembantu Doktor

Asas Kecederaan Tangan dan pergelangan tangan untuk Ujian Pembantu Doktor

Ujian Pembantu Doktor (Ujian Pembantu Perubatan) PANCE) akan mengajukan soalan tentang keadaan yang mempengaruhi tangan dan pergelangan tangan. Mereka terdiri daripada sista jinak untuk keseleo kecil untuk fraktur keluar dan keluar, jadi buat diri anda dengan asas-asas. Ganglion cysts Massa tisu lembut yang boleh anda lihat di tangan dan pergelangan tangan adalah ganglion cyst, juga dikenali ...

Asas Kawasan Lambung untuk Ujian Pembantu Doktor

Asas Kawasan Lambung untuk Ujian Pembantu Doktor

Selepas perjalanan melalui kerongkong, destinasi seterusnya dalam menyediakan Ujian Pembantu Doktor (PANCE) adalah kawasan gastrik yang meriah. Mengandung kardia, fundus, antrum, dan pilorus, kawasan ini hanya matang untuk patologi dan soalan-soalan PANCE yang akan datang. Perut adalah tempat yang berlaku di mana banyak pencernaan berlaku. Sel-sel utama ...

Pilihan Editor

Spektrum Kesopanan - patung

Spektrum Kesopanan - patung

Mungkin anda tertanya-tanya sama ada anda bersandar. Ia mungkin sukar untuk dimaklumkan pada mulanya, kerana, melainkan jika anda sudah dalam pemulihan, penafian adalah gejala kesopanan. Sama ada anda mengenal pasti atau tidak, anda masih boleh mendapat manfaat daripada mengurangkan sebarang gejala yang anda kenali. Anda akan berfungsi lebih baik dalam hidup anda. Pemulihan membantu anda untuk menjadi ...

Apa kesopanan? - klinik-klinik

Apa kesopanan? - klinik-klinik

Walaupun klinik kesihatan mental mengiktiraf kesopanan apabila mereka melihatnya, takrif kepercayaan diri dan siapa yang telah dibahaskan selama beberapa dekad. Pakar-pakar bersetuju bahawa corak codependent diluluskan dari satu generasi ke generasi yang lain dan bahawa mereka tidak boleh dibantu dengan bantuan. Gambaran keseluruhan ahli terapi dan kaunselor melihat orang dengan tatasusunan ...

Pengakuan: Sangat baik untuk Mengendalikan Perlakuan Perasaanmu - patologi

Pengakuan: Sangat baik untuk Mengendalikan Perlakuan Perasaanmu - patologi

) Menasihati bahawa perencatan yang berlebihan emosi, terutama emosi yang kuat seperti kemarahan, tidak sihat. Benar - menahan emosi sebenarnya boleh membuat anda sakit. Ia masuk akal jika anda berfikir mengenainya. Mengendali emosi adalah tidak wajar bagi manusia. Bayi mula hidup dengan menangis ...

Pilihan Editor

Array dan penunjuk dalam C ++ - dummies

Array dan penunjuk dalam C ++ - dummies

Nama array adalah penunjuk kepada array itu sendiri. Arahan adalah urutan pembolehubah yang disimpan dalam ingatan. Nama pelbagai menunjuk kepada item pertama. Ini adalah soalan yang menarik tentang petunjuk: Bolehkah anda mempunyai header fungsi, seperti baris berikut, dan hanya gunakan sizeof untuk menentukan bagaimana ...

Meningkatkan Perpustakaan dan C ++ - dummies

Meningkatkan Perpustakaan dan C ++ - dummies

Banyak pemaju menggunakan perpustakaan Boost kerana menyediakan kod berkualiti tinggi - sebahagian daripada Boost sedang diseragamkan untuk dimasukkan ke dalam Perpustakaan Standard. Salah satu perkara terbaik mengenai Boost adalah bahawa perpustakaan itu sendiri bebas. Laman web Boost membuat titik membiarkan pemaju tahu bahawa mereka tidak akan ...

Berbuka Program Selain dalam C ++ - dummies

Berbuka Program Selain dalam C ++ - dummies

Programmer boleh memecah satu program tunggal ke dalam fail sumber berasingan yang umumnya dikenali sebagai modul. Modul-modul ini disusun menjadi kod mesin oleh pengkompil C ++ secara berasingan dan kemudian digabungkan semasa proses membina untuk menghasilkan program tunggal. Modul-modul ini juga dikenali oleh geeks pengkompil sebagai unit terjemahan C ++. Proses penggabungan ...