>

Unity Tutorial : 2D Catch Game [Part 2]

Spawning Object dan Scoring

Hai semuanya, ga berasa ya udah masuk pertengahan Januari aja. Padahal kayanya baru kemaren denger suara kembang api rame banget. Oh, gimana sama resolusi? Udah mulai di jalanin? Apa malah lupa sama resolusinya?


Disini kita mau melanjutkan membahas cara pembuatan 2D Catch Game, kalau kamu belum tau, part 1 nya ada disini. Nah, kali ini kita akan bahas gimana caranya bikin objek generate secara terus menerus dan mengumpulkan skor. Siapkan project unity yang sudah dibuat di Part 1.
Buka folder Sprites. Drag sprite "orange" kedalam Hierarchy. 

Jika dilihat dari tab Scene maupun Game, objek belum terlihat. Ubah layernya menjadi Foreground dengan Order 2 (diatas keranjang, dimana order layer keranjang adalah 1)

Tambahkan komponen Rigidbody 2D pada objek Orange. Klik Add Component > Physic 2D > Rigidbody 2D. Rigibody ini fungsinya adalah memberikan efek gravitasi. Objek yang punya komponen ini pergerakannya dipengaruhi efek gravitasi.

Tambahkan juga Circle Collider 2D. Klik Add Component > Physic 2D > Circle Collider 2D. Atur Radiusnya sampe pas. Collider berfungsi biar si objek memiliki wujud fisik. Sehingga objek bisa bertabrakan dengan objek lain yang juga memiliki Collider.

Pada folder Assets, buat folder baru, beri nama Material


Buka folder Material, klik kanan disana. klik Create > Physic2D Material. Physic2D Material ini gunanya mengatur gesekan ketika objek menabrak objek lain. Masih inget kan pelajaran SMP, kalo semakin kecil gaya geseknya makin gampang tergelincir? 

Beri nama Makanan, atur Friction ke angka 5. 

Drag material "Makanan" tadi ke Material yang ada pada Circle Collider objek Orange.

Buat folder baru lagi di folder Assets dengan nama Prefab.

Drag objek Orange yang ada pada Hierarchy ke folder Prefab. Hapus Orange yang ada di Hierarchy.

Pada folder Script, klik kanan Create > C# Script, beri nama Controller.  Edit script Controller, masukkan kode seperti dibawah ini. Penjelasan ada di script.

Klik Object > Create Empty. Rename dengan nama GameController. Drag script Controller kedalamnya.


Pada tab Scene, ubah posisi GameController menjadi diatas layar permainan, seperti contoh dibawah.

Drag objek Orange yang ada di folder Prefab, ke kolom Makanan yang ada di script Controller.
Udah? Bentar istirahat dulu, air mana air...

Di tutorial sebelumnya kita udah bikin Edge Collider untuk Basket. Sekarang kita bikin Edge Collider juga untuk Background. Klik Add Component > Physic 2D > Edge Collider 2D.

Geser Offset sumbu Y sampai pada posisi seperti dibawah ini.

*Kalau sudah coba di play deh, pasti jeruknya mental-mental hehehe.

Pada folder Script, klik kanan Create > C# Script, beri nama Destroy.  Edit script Destroyer, masukkan kode seperti dibawah ini. Penjelasan ada di script.

Kembali ke Unity, drag script Destroy ke objek Background yang ada di Hierarchy.

Klik GameObject > UI > Text. Edit nama text menjadi ScoreText. Edit juga isi textnya menjadi "Score: ?". Ubah font size nya jadi 19. 

 Ubah Posisinya menjadi dibagian kiri atas, caranya klik pada Anchor Presets. Tekan dan tahan Alt sambil klik posisi kanan Atas. Atur sedikit lagi posisinya biar rapih. 

 Pada folder Script, klik kanan Create > C# Script, beri nama BasketScore

Edit script BasketScore, masukkan kode seperti dibawah ini. Penjelasan ada di script.

Drag script BasketScore ke objek Basket yang ada di Hierarchy.

Drag objek ScoreText yang ada pada Hierarchy kedalam kolom Score Board yang ada pada Script BasketScore

Atur point yang didapatkan ketika Basket mengenai Orange.


*Klik Play dan lihat apa yang terjadi.
 

Nah, sekian dulu ya tutorial 2D Catch Game degan Unity. Kalau kamu ada pertanyaan silahkan tinggalkan komentar dibawah. Semoga bermanfaat dan selamat mencoba. Jangan bosan untuk belajar, dan terakhir, Terima Kasih :D 

4 komentar:

  1. Ahirnya saya coba berhasil, sangat bermanfaat arikel ini. terimakasih

    BalasHapus
  2. hehe terimakasih, mohon maaf tidak melihat komentar di part 1 sebelumnya karena lagi agak repot dipekerjaan :D

    BalasHapus
  3. gan cara bikin game overnya ada tidak ?

    BalasHapus