Berikut ini kita akan membuat sebuah permainan dengan menggunakan soal pilihan ganda. Dimana kita akan menjawab setiap soal yang muncul. Biasanya dalam soal pilihan ganda jawabannya tidak bergerak (diam di tempat). Namun kali ini kita akan membuatnya bergerak ke atas. Sehingga apabila jawaban tersebut tidak segera diklik maka jawabannya akan mengilang dan anda tidak akan mendapatkan nilai.
1. Buatlah sebuah flash document berukuran 400×400.
2. Klik tombol Insert Layer pada timeline sebanyak 2 kali sehingga pada timeline terdapat 3 buah layer.
3. Ubah nama 3 buah layer tersebut menjadi Label, Script, Objek. Klik frame 1 layer objek agar anda aktif di layer tersebut kemudian di stage buatlah sebuah persegi panjang seperti gambar di bawah ini :
4. Seleksi frame 7 seluruh layer kemudian tekan F7. Seleksi frame 13 seluruh layer kemudian tekan F7. Seleksi frame 20 seluruh layer kemudian tekan F5.
5. Klik frame 1 layer Label kemudian tekan Ctrl+F3. Pada panel properties yang muncul, masukkan menu dalam kotak Frame Label.
6. Klik frame 7 layer label dan pada panel properties masukkan game sebagai frame label. Klik frame 13 layer label dan ada panel properties masukkan gameover sebagai frame label.
7. Sehingga pada timeline akan terlihat seperti gambar di bawah ini :
8. Klik frame 1 layer objek agar anda aktif di layer tersebut. Buatlah sebuah static text dengan ukuran huruf 30 dan beri tulisan Tembak Jawaban.
9. Buatlah sebuah static text dengan ukuran huruf 19 dan beri tulisan Jawablah seluruh soal yang ada dengan benar dengan mengklik jawaban yang ada. Segeralah mengklik jawaban yang muncul sebelum jawaban menghilang.
10. Buatlah sebuah static text dengan ukuran huruf 25 dan beri tulisan Mulai. Buatlah sebuah persegi panjang dengan panjang dan lebar sama dengan panjang dan lebar static text bertuliskan Mulai.
11. Letakkan persegi panjang tersebut ditengah-tengah static text bertuliskan Mulai. Seleksi persegi panjang dan static text bertuliskan Mulai tadi dan tekan F8. Pada panel yang muncul masukkan mulai_btn sebagai name dan button sebagai type kemudian tekan ok.
12. Seleksi button mulai_btn di stage dan pada panel properties masukkan mulai_btn sebagai instance name.
13. Letakkan seluruh objek di frame 1 layer objek seperti gambar di bawah ini :
14. Klik frame 7 layer objek agar anda aktif di layer tersebut. Buatlah sebuah static text dengan ukuran huruf 25 dan beri tulisan Nilai :
15. Buatlah 2 buah dynamic text dan pada masing-masing panel properties masukkan nilai dan soal_tampil pada kotak var
16. Buatlah 4 buah dynamic text dangan panjang dan lebar yang sama dan pada masing-masing panel properties masukkan jawaban1, jawaban2, jawaban3, jawaban4 dalam kotak var serta jawaban_mc1, jawaban_mc2, jawaban_mc3, jawaban_mc4 sebagai instance name. Berikan nama var dan instance name secara berpasangan misalnya anda memberikan jawaban1 sebagai var maka masukkan jawaban_mc1 sebagai instance namenya.
17. Buatlah sebuah invisible button dangan panjang dan lebar sama dengan panjang dan lebar dynamic text ber var jawaban1. Seleksi invisible button tersebut dan tekan Ctrl+D sebanyak 3 kali.
18. Sehingga di stage muncul 4 buah invisible button. Pada panel properties masing-masing invisible button masukkan inv1, inv2, inv3, inv4 dalam kotak instance name.
19. Letakkan ke empat buah invisible button tersebut tepat di tengah-tengah ke empat dynamic text ber var jawaban1, jawaban2, jawaban3, jawaban4. Letakan sesuai nomornya misalnya invisible button dangan instace name inv1 diletakan tepat ditengah-tengah dynamic text ber var jawaban1.
20. Letakan seluruh objek di frame 7 layer objek seperti gambar di bawah ini :
21. Klik frame 13 layer objek agar anda aktif di layer tersebut. Buatlah sebuah static text dengan ukuran huruf 25 dan beri tulisan Nilai Anda.
22. Buatlah 2 buah dynamic text dan pada masing-masing panel propertiesnya masukkan nilai dan komen dalam kotak var.
23. Buatlah sebuah static text dengan ukuran huruf 25 dan beri tulisan Main Lagi. Buatlah sebuah persegi panjang dengan panjang dan lebar sama dengan panjang dan lebar static text bertuliskan Man Lagi.
24. Letakkan persegi panjang tersebut ditengah-tengah static text bertuliskan Main Lagi. Seleksi persegi panjang dan static text bertuliskan Main Lagi tadi dan tekan F8. Pada panel yang muncul masukkan mainlagi_btn sebagai name dan button sebagai type kemudian tekan ok.
25. Seleksi button mainlagi_btn di stage dan pada panel properties masukkan mainlagi_btn sebagai instance name.
26. Letakkan seluruh objek di frame 13 layer objek seperti gambar di bawah ini :
27. Klik frame 1 layer script dan tekan F9. Pada panel actions yang muncul masukkan script berikut :
1 2 3 4 5 6 7 | //menghentikan frame agar tidak memainkan frame berikutnya stop(); //ketika button mulai_btn ditekan mulai_btn.onPress = function() { //mainkan frame berlabel game gotoAndStop("game"); }; |
28. Klik frame 7 layer script dan pada panel actions masukkan script berikut :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 | //menghentikan frame agar tidak memainkan frame berikutnya stop(); //membuat variable waktu dengan nilai 0 waktu = 0; //membuat variable no_soal dengan nilai 1 no_soal = 1; //membuat variable nilai dengan nilai 0 nilai = 0; //membuat variable jawaban_soal dengan nilai 0 jawaban_soal = 0; //membuat variable jawaban_gerak dengan nilai false jawaban_gerak = false; //membuat variable k dengan nilai 1, k dengan nilai 2, k dengan nilai 3, k dengan nilai 4 for (k=1; k<=4; k++) { //membuat nilai variable ypos+k sama dengan nilai koordinat y dynamic text jawaban_mc+k _root["ypos"+k] = _root["jawaban_mc"+k]._y; //membuat variable cek di dalam button _root["inv"+k].cek = false; } //event yang dijalankan ketika frame ini dimainkan onEnterFrame = function () { //membuat posisi y button inv1 sama dengan posisi y dynamic text jawaban_mc1 inv1._y = jawaban_mc1._y; //membuat posisi y button inv2 sama dengan posisi y dynamic text jawaban_mc2 inv2._y = jawaban_mc2._y; //membuat posisi y button inv3 sama dengan posisi y dynamic text jawaban_mc3 inv3._y = jawaban_mc3._y; //membuat posisi y button inv4 sama dengan posisi y dynamic text jawaban_mc4 inv4._y = jawaban_mc4._y; //jika nilai variable waktu kurang dari 25 if (waktu<25) { //nilai variable waktu ditambah 1 waktu++; } //jika variable waktu bernilai 25 if (waktu == 25) { //ubah nilai variable jawaban_gerak menjadi true jawaban_gerak = true; } //jika variable jawaban_gerak bernilai true if (jawaban_gerak) { //dynamic text berisi jawaban bergerak ke atas jawaban_mc1._y -= 5; jawaban_mc2._y -= 5; jawaban_mc3._y -= 5; jawaban_mc4._y -= 5; } //membuat soal //jika variable no_soal bernilai 1 if (no_soal == 1) { //tampilkan 1. 2 + 2 = ... pada dynamic text ber var soal_tampil soal_tampil = "1. 2 + 2 = ..."; //mengubah nilai variable cek pada button inv2 menjadi true inv2.cek = true; //tampilkan a. 2 pada dynamic text ber var jawaban1 jawaban1 = "a. 2"; //tampilkan a. 4 pada dynamic text ber var jawaban2 jawaban2 = "b. 4"; //tampilkan a. 6 pada dynamic text ber var jawaban3 jawaban3 = "c. 6"; //tampilkan a. 8 pada dynamic text ber var jawaban4 jawaban4 = "d. 8"; } if (no_soal == 2) { soal_tampil = "2. 4 + 7 = ..."; inv3.cek = true; jawaban1 = "a. 9"; jawaban2 = "b. 10"; jawaban3 = "c. 11"; jawaban4 = "d. 12"; } if (no_soal == 3) { soal_tampil = "3. 6 + 8 = ..."; inv2.cek = true; jawaban1 = "a. 12"; jawaban2 = "b. 14"; jawaban3 = "c. 16"; jawaban4 = "d. 18"; } if (no_soal == 4) { soal_tampil = "4. 9 + 9 = ..."; inv1.cek = true; jawaban1 = "a. 18"; jawaban2 = "b. 19"; jawaban3 = "c. 20"; jawaban4 = "d. 21"; } if (no_soal == 5) { soal_tampil = "5. 12 + 11 = ..."; inv3.cek = true; jawaban1 = "a. 3"; jawaban2 = "b. 13"; jawaban3 = "c. 23"; jawaban4 = "d. 33"; } if (no_soal == 6) { soal_tampil = "6. 14 + 12 = ..."; inv4.cek = true; jawaban1 = "a. 16"; jawaban2 = "b. 20"; jawaban3 = "c. 24"; jawaban4 = "d. 26"; } if (no_soal == 7) { soal_tampil = "7. 16 + 14 = ..."; inv4.cek = true; jawaban1 = "a. 10"; jawaban2 = "b. 15"; jawaban3 = "c. 20"; jawaban4 = "d. 30"; } if (no_soal == 8) { soal_tampil = "8. 18 + 15 = ..."; inv1.cek = true; jawaban1 = "a. 33"; jawaban2 = "b. 43"; jawaban3 = "c. 53"; jawaban4 = "d. 63"; } if (no_soal == 9) { soal_tampil = "9. 19 + 16 = ..."; inv2.cek = true; jawaban1 = "a. 25"; jawaban2 = "b. 35"; jawaban3 = "c. 36"; jawaban4 = "d. 45"; } if (no_soal == 10) { soal_tampil = "10. 20 + 20 = ..."; inv3.cek = true; jawaban1 = "a. 20"; jawaban2 = "b. 30"; jawaban3 = "c. 40"; jawaban4 = "d. 50"; } //jika posisi y dynamic text berinstance name jawaban_mc4 kurang dari -20 if (jawaban_mc4._y<-20) { //nilai variable no_soal ditambah 1 no_soal += 1; //membuat variable l dengan nilai 1, l dengan nilai 2, l dengan nilai 3, l dengan nilai 4 for (l=1; l<=4; l++) { //posisi dynamic text berinstance name jawaban_mc+l sama dengan nilai variable ypos+l _root["jawaban_mc"+l]._y = _root["ypos"+l]; //ubah nilai variable cek di dalam button inv+l menjadi false _root["inv"+l].cek = false; } //ubah nilai variable waktu menjadi 0 waktu = 0; //ubah nilai variable jawaban_gerak menjadi false jawaban_gerak = false; //jika nilai variable no_soal lebih dari 10 if (no_soal>10) { //mainkan frame berlabel gameover gotoAndStop("gameover"); } } }; //membuat variable i dengan nilai 1, i dengan nilai 2, i dengan nilai 3, i dengan nilai 4 for (i=1; i<=4; i++) { //ketika button inv+i ditekan _root["inv"+i].onPress = function() { //jika variable cek pada button ini bernilai true if (this.cek) { //nilai variable nilai ditambah 1 nilai += 1; } //membuat variable m dengan nilai 1, m dengan nilai 2, m dengan nilai 3, m dengan nilai 4 for (m=1; m<=4; m++) { //posisi dynamic text berinstace name jawaban_mc+m sama dengan nilai variable ypos+m _root["jawaban_mc"+m]._y = _root["ypos"+m]; //ubah nilai variable cek dalam button inv+m menjadi false _root["inv"+m].cek = false; } //nilai variable no_soal ditambah 1 no_soal += 1; //ubah nilai variable waktu menjadi 0 waktu = 0; //ubah nilai variable jawaban_gerak menjadi false jawaban_gerak = false; //jika variable no_soal bernilai lebih dari 10 if (no_soal>10) { //mainkan frame berlabel gameover gotoAndStop("gameover"); } }; } |
29. Klik frame 13 layer script dan pada panel actions masukkan script berikut :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | //menghentikan frame agar tidak memainkan frame berikutnya stop(); //kosongkan dynamic text ber var komen komen = ""; //jika nilai variable nilai lebih atau sama dengan 7 if (nilai>=7) { //tampilkan Pertahankan terus prestasi anda pada dynamic text ber var komen komen = "Pertahankan terus prestasi anda"; } //jika nilai variable nilai kurang dari 7 if (nilai<7) { //tampilkan Anda harus lebih banyak belajar lagi pada dynamic text ber var komen komen = "Anda harus lebih banyak belajar lagi"; } //ketika button mainlagi_btn ditekan mainlagi_btn.onPress = function() { //mainkan frame berlabel menu gotoAndStop("menu"); }; |
30. Tekan Ctrl+Enter untuk melihat hasilnya.
Sourcenya dapat di download di sini
Berikut source untuk contoh lain dengan 5 jawaban yang dapat di download di sini






Tlong tutoriallin flash mobile
Bang aku punya ide ini mungkin abang bisa buatin.. skalian buat tambahan referensi aku ni...
trimakasiiiiih…..
August 5th, 2009 at 16:59
Wahahahahahahahaha…..
Bagus,,, Bagusss =)) =)) =))
Mas admin bnr2 kreatip…
Cba deh pointer mousenya diganti mouse trail berbentuk pistol, pasti kaya nembak jawaban bnran… Wahahahahaha….
August 5th, 2009 at 20:13
maksih banget y mas……
req neng dah di bwtn, pokana mah mas2 neh baek2 bagt!!!
sukses ruz wt wrung flashnya….
August 6th, 2009 at 10:03
Wah..keren…keren…makasih banyak yah..sangat cocok untuk murid-murid saya… =D>
August 6th, 2009 at 12:37
wuahaa……
August 7th, 2009 at 07:08
pokok’e warung flash mantap dech……..
tambah lagi tutorialnya…….
August 7th, 2009 at 09:52
August 7th, 2009 at 09:56
August 8th, 2009 at 13:49
Mas… Klw komen atw peringatan’y dgnti sound bsa ga? Misal nilai akan mmanggil nilai1.mp3, klw nilai 2 mmanggil nilai2.mp3,dst Jd tiap nilai mmanggil sound yg brbda. Script yg dgnti yg mna? Atw dtmbhn dmna?
August 9th, 2009 at 09:06
Mas, prtnyaan sya ga ush djwb. Sya udh cba trnyata bsa kq… Hhehe…
Maaf y klw sya tnya dlu sblm mncba…
September 16th, 2009 at 14:21
mantabb….
September 29th, 2009 at 13:15
pak admin arif mau buat option soalnya sebanyak 5 jadi a,b,c,d,e..mohon arahannya pakadmin…thanks b4..
September 30th, 2009 at 07:33
Akan kami coba buatkan dulu, nanti kami upload source dengan 5 jawaban pada tutorial ini. Jadi silahkan tunggu dan rajin-rajin berkunjung kemari
September 30th, 2009 at 13:08
ok pakadmin terima kasih..ditunggu ya pak..
October 1st, 2009 at 13:33
pakadmin gimana pak untuk 5 jawabannya?
>:D<
October 2nd, 2009 at 06:52
Udah tuh di atas
October 2nd, 2009 at 17:47
thanks a lot of pakadmin…sukses terus bwt pak admin…
October 2nd, 2009 at 18:02
Sama-sama
Amin
October 3rd, 2009 at 12:30
pak admin source nya ga bisa arif download, unexpect file katanya pak..gimana cara downloadnya pak? atau karena minta program flash 8 ya pak?
]
October 3rd, 2009 at 18:00
pak ad,in source untuk yang lima jawaban koga bisa di dowload?unexpect file katanya…
~x(
October 4th, 2009 at 17:57
@arif dan beginer
Kalau unexpect file berarti anda menggunakan flash yang versinya lebih rendah dari kami. Minimal source di Warung Flash bisa dibuka dengan Flash 8. Jika anda menggunakan flash mx 2004, kami akan save as source tersebut ke flash mx 2004. Silahkan tuliskan alamat email anda.
October 6th, 2009 at 15:00
arif_budiboyz@yahoo.com
October 8th, 2009 at 15:18
October 8th, 2009 at 16:49
Amin
October 26th, 2009 at 13:12
halo pak admin apa kabar?pak admin makin keren aja ni warung flash bapak…saya mw buat cek jawaban tanda betul yang bergerak setiap tembak jawaban yang saya pilih benar dan dan tanda jawaban salah yang bergeak jika tembak jawaban yang saya pilih salah…gimana caranya pak admin?atau uda ada di daftar isi tapi saya ga tau yang mana?
October 26th, 2009 at 14:00
Maksudnya setiap mengklik jawaban nanti akan muncul tanda benar atau salahnya?
October 27th, 2009 at 13:02
iya pak…gimana pak?
June 30th, 2010 at 12:18
abang admin ni kalo jawabannya yang bergerak di ganti dengan jawaban yg diam tapi beberapa waktu kalo nggak di klik berganti pertanyaan berikutnya gimana? & kalo soalnya di bikin random di + script apa yaa??
June 30th, 2010 at 12:22
abang admin ni kalo jawabannya yang bergerak di ganti dengan jawaban yg diam tapi beberapa waktu kalo nggak di klik berganti pertanyaan berikutnya gimana? & kalo soalnya di bikin random di + script apa yaa??hope”Thx’s
August 8th, 2010 at 19:03
mas saya mau tanya……..saya udh buat game sama kyk tembak angka tapi di bagian jawaban yang a.b.c.d ada yang gak bener….jadi bingung saya @_@
blh minta emailnya gak mas admin buat ngirim fla nya
August 9th, 2010 at 08:31
Coba kirim ke warungflash@gmail.com
January 1st, 2011 at 12:34
cara buka source kode yg di download gmn kok tulisan nya kacau gitu kk…tolong pencerahannya
January 11th, 2011 at 16:01
tengkyu… ngebantu bangt… =D>
January 18th, 2011 at 15:21
mas klo soal di ganti gambar gmn y,.?
mhon pencerahannya..
February 4th, 2011 at 10:49
mas admin saya mau tanya, itu variable waktu untuk apa yah? untuk waktu buat dia naik keatas?
February 8th, 2011 at 16:31
om admin,, aq mau tanya,,

flash itu bisa pake database ga??
atau bisa di koneksikan ke ms.access ga??
jawab ke email aq ajah ya om admin yang baek hati..
makasiiiiiiih..
March 7th, 2011 at 07:13
om admin,
kalo nambah soal dari 10 soal jadi 20 soal, hanya ditambah dibagian action scriptnya aja?
kemudian kalo ingin menambah jadi pembagian, pengurangan, dan perkalian dibagian menu setelah mulai. itu bagaimana caranya ya min?
terima kasih
March 8th, 2011 at 23:17
om.. mau tnya ada ga tutorial untk merubah icon aplikasinya (Application (.exe) misalkan pada saat di publikasikan lalu create project tapi dengan icon yang lain…
March 9th, 2011 at 18:05
Om Admin, saya lg bwt aplikasi menampilkan soal pilihan ganda (multi choice), dimana soal ini akan muncul secara otomatis. dengan system yang akan mengaturnya bkan user. bisa, tidak memberikan bantuan.. trmakasih.
March 18th, 2011 at 16:51
hmmm w mo nyoba ini wat bahan TA w ..makasih banyak om warung flash …doain yar TA w berjalan lancar jg ya …thx ..
August 12th, 2011 at 11:13
February 13th, 2012 at 14:28
wow luar biasa ini flash..
top markotop gan
June 14th, 2012 at 18:32
mas saya mau tanya saya punya TA dan mau mebuat game berhitung seperti ini… tapi untuk menebak jawabanya model pilihanya yaitu seperti hujan , yang nantinya ada orang yang akan menangkapnya .. itu seperti apa yah mas ?
September 11th, 2012 at 13:55
waaaa mantep ni mas…

klu bikin game mengenal akngka gimana ya mas khusus buat pendidikan usia dini
January 25th, 2013 at 22:18
mas, pas udah dicoba, kok jawaban yang nilainya lebih dari 4 gk bisa tampil ?
mhon bantuannya.