Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Corona SDK
Code

Menciptakan sebuah permainan sederhana bola basket dengan Corona permainan edisi

by
Difficulty:BeginnerLength:MediumLanguages:

Indonesian (Bahasa Indonesia) translation by Kang Abbad (you can also view the original English article)

Mesin fisika yang datang dengan Corona permainan Edition adalah alat yang sangat kuat dan mudah digunakan. Dalam tutorial ini, kita akan menutupi selesainya permainan bola basket dasar yang menggunakan teknologi ini menarik.

Langkah 1: Menyiapkan mesin fisika

Hal pertama yang kita lakukan (seperti banyak program) adalah mendapatkan menyingkirkan bilah status di bagian atas layar. Selanjutnya, kita membuat yang diperlukan memerlukan pernyataan untuk menggunakan fisika dan menyimpan hasilnya dalam variabel aptly bernama "fisika". Hal-hal menjadi lebih menarik di beberapa baris berikutnya. Dalam garis lima, kami menetapkan percepatan gravitasi. Biasanya, gravitasi diatur ke 9.8 m/s * s di y-arah positif, tetapi dalam hal ini kami ingin membuat gravitasi menarik dalam arah x positif karena aplikasi akan memiliki orientasi lanskap. Selain itu, kita mengatur skala untuk 80 piksel per meter. Jumlah ini dapat bervariasi cukup sedikit berdasarkan ukuran objek dalam aplikasi Anda, dan Anda mungkin harus bermain-main dengan itu untuk memberikan permainan Anda merasa benar. Aku memilih 80 px/m karena saya ingin cocok sekitar 15 kaki ruang vertikal di layar. Mengetahui bahwa, ini adalah hanya masalah sederhana unit konversi untuk mendapatkan nilai.

Catatan: Hal ini penting untuk mencoba dan mengikat semuanya benda-benda dunia nyata dalam aplikasi dengan fisika. Pengukuran hidup lebih nyata yang Anda gunakan, akan ada menebak kurang dan lebih realistis aplikasi Anda akan tampak.

Kami melengkapi beberapa baris ini dengan menyetel modus menggambar normal. Baris ini membuatnya lebih mudah untuk mengubah debug mode kemudian jika kita harus memperbaiki beberapa perilaku yang tidak diinginkan dengan tabrakan. Pengaturan ini normal adalah aktivitas default dan menarik bentuk sebagai pengguna akan melihat mereka di akhir permainan.


Langkah 2: Membuat Arena

Blok ini menetapkan batas-batas arena, dan sifat dari semua benda statis dalam aplikasi. Kita mulai dengan menambahkan sebuah gambar sederhana ke latar belakang. Dalam persegi panjang putih dalam gambar latar belakang, kami posisi beberapa teks untuk menampilkan nilai saat ini. Karena aplikasi akan ditampilkan dalam modus lansekap, kami juga membuat rotasi diperlukan penyesuaian di sini. Arena perlu perangkap bola dalam terlihat bagian layar. Kita mencapai ini dengan empat persegi panjang statis (lantai, lWall, rWall, langit-langit) ditempatkan hanya keluar dari pandangan.

Selanjutnya, kita membawa fisika kembali ke dalam persamaan. Bukan retyping tabel untuk sifat-sifat fisik dari setiap objek, kami membuat staticMaterial nama meja untuk digunakan kembali untuk setiap dinding dan tujuan itu sendiri. Aku telah memilih nilai-nilai cukup standar untuk properti ini, meskipun saya mendorong Anda untuk bermain-main dengan mereka. Ada satu langkah lain yang kita harus mengambil, dan itu adalah untuk memberitahu Corona bahwa benda-benda ini harus berpartisipasi dalam Fisika perhitungan. Kita melakukan ini dengan memanggil fungsi addBody objek fisika. Fungsi ini mengambil tiga argumen:

  1. Objek
  2. Pengubah opsional
  3. Tabel sifat fisik

Kami telah sudah menentukan sifat dan benda-benda, sehingga semua yang tersisa adalah pengubah opsional. Kami menggunakan "statis" untuk mencegah gravitasi, atau kekuatan apapun untuk hal ini, dari menggusur dinding kami!


Step 3: Menambahkan sebuah bola dan tujuan

Dalam satu kali kejadian, kita menciptakan seluruh unsur-unsur visual dari aplikasi kami. Ini semua harus sangat akrab. Ada hanya dua hal yang saya ingin menunjukkan. Pertama, beberapa nilai untuk posisi sasaran mungkin tampak. Ini adalah untuk memperhitungkan orientasi lanskap. Tujuan akan muncul tegak saat perangkat yang diputar pada sisinya. Juga, pastikan untuk menyertakan radius properti dalam tabel properti bola sehingga ia akan berperilaku dengan benar.


Step 4: Membuat dukungan Drag bola

Fungsi ini memberi kita dukungan drag yang sangat dasar. Beberapa poin yang tinggi termasuk pengaturan bodyType bola ke kinematis jadi gravitasi tidak akan menarik bola dari tangan pengguna (Catatan: Pastikan untuk mengatur ini kembali ke dinamis setelah menyentuh telah berakhir). Garis hanya setelah itu sama pentingnya. Ada kami menghentikan semua bola gerak ketika itu menyentuh untuk menghindari masalah yang sama kita telah dengan gravitasi.

Jika Anda menjalankan aplikasi seperti sekarang, Anda mungkin akan melihat bahwa bola kehilangan semua momentum segera setelah Anda berhenti menyentuhnya. Untuk memperbaiki hal ini, kita perlu membuat sebuah fungsi untuk melacak kecepatan bola, dan kemudian menetapkan kecepatan bola tepat setelah berakhir sentuhan.

Kami membuat trackVelocity sebagai pendengar acara enterFrame, jadi ini dipanggil setiap kali layar adalah ulang. Apa yang dilakukannya adalah menemukan perubahan kecepatan atas perubahan waktu untuk menemukan kecepatan bola dalam piksel per detik. Benar-benar tidak ada banyak untuk itu. Tambahkan baris berikut ke fungsi tarik dikonfigurasi dengan kecepatan linier bola.

Step 5: Membuat lingkaran dan mencetak mekanisme

Kita mulai dengan beberapa karya visual, tapi sekarang Anda harus pro pada persegi panjang, sehingga harus menjadi menyakitkan. Kode berikut menciptakan rim. Perhatikan bahwa bagian tengah RIM tidak akan menjadi bagian dari sistem fizikal karena kita ingin bola melewati bebas.

Selanjutnya kita perlu cara untuk tahu Kapan bola telah melewati tujuan. Cara termudah untuk melakukannya adalah dengan menunjuk sepetak kecil layar dekat tepi sebagai "zona Skor". Ketika bola berada dalam zona ini kita dapat kenaikan Skor. Untuk mencegah Skor Warnamasalah ketika bola tetap hidup di sekitar tepi, kami melacak waktu tujuan terakhir, dan memastikan bahwa ada cukup pemisahan antara setiap tujuan berturut-turut. Penundaan kedua yang satu harus bekerja dengan baik.


Kesimpulan

Meskipun aplikasi ini dapat dibuat dengan versi standar Corona SDK, itu akan menjadi pegunungan lebih bekerja mencoba untuk melacak tabrakan, gesekan, gravitasi, dll. Corona permainan edisi menangani tugas-tugas fisika lebih sulit, meninggalkan Anda dengan lebih banyak waktu untuk fokus pada konten dan gameplay permainan Anda.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.