- Sprite kucing dapat bergerak ke kiri dan ke kanan jika tomboll panah kanan (right arrow) dan panah kiri (left arrow) ditekan.
- Sprite kucing dapat menembakkan peluru berupa Sprite Bola dengan menekan tombol spasi.
- Sprite Bola bergerak ke atas dari posisi Sprite kucing dan kemudian menghilang di posisi tepi layar bagian atas.
Pada Scratch kita membutuhkan dua Sprite berikut: Sprite Kucing (Sprite1) dan Sprite Bola (Ball)
Script untuk Sprite Kucing:
Script untuk Sprite Bola:
Pada Unity, fungsi yang sama dengan script Scratch di atas akan kita lakukan dalam dua tahapan.
- Tahap 1: Menembak tanpa bola menghilang di posisi tertentu.
- Tahap 2: Menembak dan bola menghilang di posisi tertentu.
Tahap 1: Menembak dan Bola Tidak Hilang
Script untuk Sprite Bola:
Untuk lebih detailnya, berikut adalah perbandingan antara script di Scratch dan di Unity yang berhubungan dengan script di atas.
Buat Duplikat Sprite (Create Clone)
Pada Scratch:
Pada script di atas block create clone berfungsi untuk membuat duplikat dari sprite Ball. Kemudian saat pertama kali duplikat atau saat Sprite Ball dibuat (pada block Start), posisi Sprite di set ke posisi yang sama dengan posisi Sprite Kucing. Dengan demikian Sprite Ball akan bergerak mulai dari posisi Sprite Kucing.
Pada Unity:
Sebelum membuat duplikat dari Sprite Bola, kita harus membuat dulu variable dengan tipe Transform sebagai berikut:
Variable BulletPrefab diatas nantinya akan dihubungkan dengan prefab Sprite Bola. Prefab adalah Sprite yang telah di masukkan ke dalam aset (dengan cara di drag) sehingga bisa dibuat duplikatnya.
Video berikut berisi tutorial bagaimana caranya membuat prefab dari Sprite Bola dan kemudian menghubungkannya dengan variabel BulletPrefab yang ada pada script dari Sprite Kucing.
Selanjutnya, untuk membuat duplikat dari prefab Sprite Bola (BulletPrefab) kita gunakan perintah Instantiate sebagai berikut.
Ada tiga parameter dari perintah Instantiate:
- Parameter 1 adalah prefab yang akan diduplikat dan kemudian dimunculkan di layar. Parameter ini diisi dengan variabel BulletPrefab yang terhubung dengan Sprite Bola. Dengan demikian Sprite Bola akan diduplikat dan dimunculkan di layar.
- Parameter 2 adalah posisi dimana prefab akan dimunculkan. Parameter ini diisi dengan posisi dari Sprite kucing yaitu transform.position.
- Parameter 3 adalah rotasi dari prefab saat pertama kali muncul. Parameter ini diisi dengan Quaternion.identity yang artinya tidak ada rotasi (rotasi 0).
Tahap 2: Menembak dan Bola Hilang
Pada tahap 1, setelah menembak bola tidak pernah hilang. Ini mengakibatkan jumlah bola di dalam game semakin lama semakin banyak dan pada akhirnya akan membuat game menjadi lambat. Berikut penampakan Bullet Clone yang semakin banyak.
Kita lihat di atas, sesudah menembak, Sprite Bullet Clone yaitu duplikat dari Sprite Bolla tidak pernah di hapus. Untuk menghapusnya kita cukup dengan memperbarui script dari Sprite Bola menjadi sebagai berikut.
Pada script di atas, jika posisi Y dari Sprite Bola lebih dari 5,0 (bagian atas layar) maka kita perintahkan komputer untuk menghancurkan (Destroy) sprite Bola tersebut.
Berikut adalah detail perbandingan antara script pada Scratch dan Unity yang berkaitan dengan script di atas.
Apakah Posisi Y > Posisi Tertentu?
Pada Scratch:
Pada Unity:
Hapus Duplikat Sprite Ini (Delete This Clone)
Pada Scratch:
Pada Unity:
Tidak ada komentar:
Posting Komentar