Sabtu, 25 Februari 2017

Menembak Dengan Timer

Artikel kali ini adalah lanjutan dari artikel sebelumnya yang berjudul menembak.

Berikut adahal script pada Scratch untuk menembak, dimana menembak hanya dapat dilakukan setelah menunggu 0.5 detik dari tembakan yang terakhir.



Script diatas menggunakan variabel bernama CanShoot. Menembak hanya dapat dilakukan hanya jika variabel CanShoot berisi angka 1. Begitu menembak dilakukan, variabel CanShoot langsung diisi angka 0 sehingga menembak tidak dapat dilakukan. Menembak bisa dilakukan setelah variabel CanShoot kembali diisi angka 1 yaitu setelah menunggu 0.5 detik setelah tembakan terakhir.

Perhatikan bahwa diatas kita menggunakan perintah broadcast StartCoroutine untuk mengerjakan block WaitForCanShoot. Hal ini dilakukan agar program untuk menggerakkan Sprite Kucing ke kiri ke kanan dapat dikerjakan bersamaan dengan program  untuk menunggu tembakan selama 0.5 detik. Dengan demikian Sprite kucing dapat tetap bergerak pada saat Sprite Kucing menunggu 0.5 untuk tembakan selanjutnya.


Hal yang sama dapat dilakukan pada Unity dengan script kucing sebagai berikut:




Berikut adalah detail perbandingan antara script di Scratch dan Unity.

Membuat Variabel

Pada Scratch:


Pada Unity:


Artinya: buat variabel bernama CanShoot dengan tipe Integer. Integer adalah variabel yang berisi bilangan buat seperti -3,-2,-1,0,1,3.

Mengisi Variabel

Pada Scratch:


Pada Unity:



Membandingkan Isi Variabel

Pada Scratch:


Pada Unity:


Perhatikan pada Unity, untuk membandingkan kita menggunakan dua symbol =.

Proses Paralel 

Pada Scratch:

Pada script di atas perintah brodcast StartCoroutine tidak menunggu sampai block WaitForCanShoot selesai dilakukan. Dengan demikian perintah selanjutnya yang ada setelah broadcast Coroutine akan langsung dilaksanakan bersamaan dengan dilaksanakannya block WaitForCanShoot.

Pada Unity:




Menunggu

Pada Scratch:



Pada Unity:


Pada Unity perintah menunggu di atas hanya dapat dilakukan di dalam fungsi yang dipanggil dengan menggunakan StartCoroutine.




Tidak ada komentar:

Posting Komentar