Rumah Kewangan Peribadi Bagaimana Menambah Graviti untuk Permainan HTML5 Anda - pengkitaan graviti

Bagaimana Menambah Graviti untuk Permainan HTML5 Anda - pengkitaan graviti

Isi kandungan:

Video: Juegos para iOS - Flappy Bird con Swift 15 - Control de Puntuacion 2025

Video: Juegos para iOS - Flappy Bird con Swift 15 - Control de Puntuacion 2025
Anonim

Pengiraan graviti telah menjadi sebahagian daripada permainan video HTML5 dari awal lagi. Sebenarnya terdapat dua jenis graviti untuk dipertimbangkan. Dalam permainan gaya platform, pemain adalah dekat dengan planet, dan semua graviti muncul untuk menarik semuanya terus ke bawah.

Apabila anda tahu bagaimana untuk menambah vektor percepatan, graviti gaya platform sebenarnya mudah untuk digunakan. Fikirkan graviti sebagai kekuatan yang berterusan selalu menarik sedikit jumlah setiap bingkai.

Bagaimana untuk menambah roket ke perjalanan permainan anda

Contoh ini mempunyai satu lagi ciri menarik yang lain. Apabila anda menekan anak panah atas, imej kereta akan ditukar kepada imej lain dengan api.

Kod untuk contoh hoverCar ditunjukkan di sini secara keseluruhannya:

hoverCar. html var kereta; var bandar; permainan var; fungsi Kereta () {tCar = Sprite baru (permainan, "hoverCar. png", 70, 50); tCar. setSpeed ​​(0); tCar. hSpeed ​​= 0 tCar. checkKeys = function () {tCar. changeImage ("hoverCar. png"); jika (keysDown [K_LEFT]) { ini. hSpeed ​​- = 1 } jika (keysDown [K_RIGHT]) { ini. hSpeed ​​+ = 1 } jika (keysDown [K_UP]) { ini. addVector (0,.5); ini. changeImage ("hoverCarThrust. png") ;} ini. changeXby (hSpeed ​​ini); } // check cekKeys tCar. checkGravity = function () { if (this. y> 580) { ini. setPosition (ini. x, 580); } lain { ini. addVector (180,. 1); } // end jika } // end checkGravity return tCar;} // end car def function init () {game = Scene new (); kereta = Kereta baru (); bandar = Sprite baru (permainan, "bandar png", 800, 600); bandar. setSpeed ​​(0); bandar. setPosition (400, 300); permainan. mulakan ();} / update akhir fungsi panas () {permainan. jelas (); bandar. kemas kini (); kereta. checkKeys (); kereta. checkGravity (); kereta. kemas kini ();} // akhir kemas kini

Cara menggunakan vektor daya dalam permainan

Graviti sebenarnya agak mudah. Ini hanya vektor daya. Bahagian-bahagian lain yang menarik contoh ini melibatkan perubahan gerakan mendatar tanpa mengubah sudut imej kereta dan menyesuaikan imej untuk menandakan pembuli. Berikut adalah langkah-langkah:

  1. Bina dua imej yang berbeza.

    Gunakan editor imej anda untuk membina dua versi imej yang berlainan.

  2. Bina sprit biasa.

    Seperti kebanyakan sprite kenderaan, anda memerlukan kaedah checkKeys (). Yang satu ini ditubuhkan dengan cara biasa, tetapi tingkah laku agak berbeza.

  3. Tetapkan imej ke lalai.

    Imej lalai tidak mempunyai tujahan. Gunakan kaedah changeImage () untuk menjadikannya imej lalai. Apabila tujah dihidupkan, imej akan ditukar.

  4. Gunakan pembolehubah untuk mengawal kelajuan mendatar.

    Anda boleh membuat pemboleh ubah hSpeed ​​untuk menguruskan kelajuan mendatar kereta.

  5. Tetapkan anak panah kiri dan kanan untuk mengubah suai hSpeed.

    Kekunci anak panah kiri dan kanan mengubah suai pemboleh ubah hSpeed.

  6. Gunakan changeXby untuk menetapkan kelajuan mendatar.

    Selepas memeriksa semua kekunci, ubah nilai x kereta kepada nilai semasa hSpeed.

  7. Anak panah atas menambah vektor ke atas.

    Gunakan fungsi addVector () sekarang yang terkenal untuk menambah vektor daya kecil ke atas apabila pengguna menekan anak panah atas. Ingat bahawa 0 darjah adalah. Bermain-main dengan nilai ini untuk mendapatkan jumlah teras yang anda mahukan untuk permainan anda.

  8. Tunjukkan tujah apabila anak panah atas ditekan.

    Jika pengguna menekan anak panah atas, anda perlu menunjukkan tujahan. Gunakan kaedah changeImage () untuk menetapkan imej sprite kepada yang mempunyai tujahan roket.

  9. Bina kaedah checkgravity ().

    Kaedah ini akan dipanggil setiap bingkai untuk mengimbangi graviti.

  10. Semak untuk mengetahui sama ada anda berada di lapangan.

    Dalam contoh ini, tanah ditakrifkan sebagai nilai y yang lebih besar daripada 580.

  11. Jika anda tidak berada di lapangan, tambahkan vektor daya graviti.

    Oleh kerana ia akan berkumpul, vektor daya graviti perlu agak kecil. Anda perlu mengimbangi kekuatan graviti dan tujahan untuk mendapatkan tingkah laku yang anda inginkan. Sekiranya graviti terlalu kuat, tujahan tidak akan berfungsi. Sekiranya tujahan terlalu kuat, kereta hanya terbang ke ruang angkasa.

Bagaimana Menambah Graviti untuk Permainan HTML5 Anda - pengkitaan graviti

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 ...