Latest Blog

Multimedia Interaktif Tata Surya
Membuat Multimedia Pembelajaran Interaktif tentang tata surya
ALL BLOG
;
Melempar dan Mengacak dadu dengan Flash
Dalam beberapa permainan papan (board game), dadu menjadi sebuah komponen fital karena menentukan jumlah langkah pemain. Membuat pengacak dadu pada dasarnya cukup sederhana yaitu dengan menggunakan kode Math.random seperti pada baris kode berikut :
var angkaDadu:int = Math.ceil(Math.random()*6);
Dalam kode di atas Math.random() akan menghasilkan angka 0.01 sampai 0.999 sehingga perlu dikalikan dengan 6 (jumlah mata dadu). Hasil dari perkalian tersebut perlu dibulatkan ke atas dengan kode Math.ceil sehingga menghasilkan rentang angka 1 sampai 6.
Namun demikian untuk membuat pengacakan dadu menjadi lebih menarik, diperlukan sebuah animasi angka dadu yang berputar secara acak dan berhenti untuk menunjukkan angka tertentu. Terdapat beberapa teknik yang dapat dipakai untuk mewujudkannya, di antaranya menggunakan Movieclip dengan 6 buah frame dan diacak posisi framenya, animasi dadu dengan mengimport gambar animasi siap pakai dan menggunakan model 3 dimensi dadu lalu melemparkannya menggunakan physic engine.
Dari ketiga alternatif cara tersebut, cara yang paling sederhana adalah dengan menggacak frame sebuah Movieclip. Untuk membuatnya perhatikan langkah berikut :
- Buatlah file baru dengan pengaturan yang sama seperti pada tutorial sebelumnya, yaitu Actionscript 3 dengan ukuran 800 x 480 pixel dan 30 fps.
- Buatlah sebuah Movieclip baru dengan menekan menu Insert > New Symbol (Ctrl+F8) kemudian ketikan nama daduMC type Movieclip dan centang opsi Export for Actionscript
- Selanjutnya dengan menggunakan Rectangle Tool (R), buatlah sebuah persegi sebagai background dadu
- Klik kanan frame 6 layer 1 dan pilih opsi Insert Frame untuk memberikan background yang sama dari frame 1 sampai frame 6.
Buatlah sebuah layer baru, klik frame 1 layer 2 kemudian dengan menggunakan Oval Tool (O) buatlah sebuah gambar titik hitam, tepat di tengah background dadu.
Klik kanan frame 2 layer 2, kemudian pilih Insert Keyframe dan tambahkan titik menjadi 2. Lakukan frame demi frame sehingga daduMC memiliki 6 buah titik.
- Kembali ke Scene utama dengan menekan tombol Ctrl+E. Kemudian buatlah sebuah tombol acakBtn dan letakkan di sebelah kanan bawah. Tambahkan instance name “acakBtn” pada tombol tersebut.
- Buatlah sebuah layer baru, kemudian ubah nama masing-masing layer menjadi layer objek dan layer action
- Klik frame 1 layer action, kemudian ketikan kode berikut :
- 6. Jalankan aplikasi dengan menekan tombol Ctrl+Enter. Maka akan dihasilkan sebuah animasi dadu sedehana ketika tombol acak ditekan.
function lemparDadu(px:int, py:int, num:int):Object{ var dadu:daduMC = new daduMC; dadu.x = px; dadu.y = py; dadu.num = num; dadu.waktu = 0; dadu.addEventListener(Event.ENTER_FRAME, animasiDadu); addChild(dadu); return dadu; } function animasiDadu(e:Event):void{ var ob:Object = e.currentTarget; ob.waktu++; ob.rotation+=Math.random()*180; ob.gotoAndStop(Math.ceil(Math.random()*6)); if (ob.waktu >= 60){ ob.gotoAndStop(ob.num); ob.removeEventListener(Event.ENTER_FRAME, animasiDadu); } } function acakDadu(e:MouseEvent):void{ lemparDadu(Math.random()*700+50, Math.random()*400+50, Math.ceil(Math.random()*6)); } acakBtn.addEventListener(MouseEvent.CLICK, acakDadu);

Kode lemparDadu menghasilkan variabel bertipe objek, sehingga untuk menggunakannya kita dapat memanfaatkan variabel num yang ada di dalam objek dadu. Perhatikan contoh penggunaan kode tersebut sebagai berikut :
var dadu:Object = lemparDadu(300, 200, Math.ceil(Math.random()*6)); trace(dadu.num); //misal jika dadu bernilai 4, maka jalankan fungsi langkah; if (dadu.num == 4) langkah();
File sumber : FLA Adobe Animate 2017 - File Acak Dadu
File Video Tutorial
Share ( Ayo Berbagi )
Leave me a comment
untuk pertanyaan lebih baik di email langsung ke wandah [at] wandah [dot] com agar cepat direspon