Tutorial berikut ini merupakan pengembangan dari tutorial Tembak Jawaban. Kali ini kita akan menambahkan tanda centang/contreng di sebelah kiri jawaban jika user menjawab dengan benar dan tanda silang jika user menjawab dengan salah.
1. Bukalah fla dari Tembak Jawaban.
2. Buatlah sebuah tanda centang/contreng di stage. Seleksi tanda tersebut dan tekan F8. Pada panel yang muncul masukkan benar sebagai name dan movie clip sebagai type serta pastikan titik registrationnya berada di tengah-tengah lalu tekan ok.
3. Buatlah sebuah tanda silang di stage. Seleksi tanda silang ini kemudian tekan F8. Pada Pada panel yang muncul masukkan salah sebagai name dan movie clip sebagai type serta pastikan titik registrationnya berada di tengah-tengah lalu tekan ok.
4. Hapus movie clip benar dan movie clip salah di stage.
5. Tekan Ctrl+L dan pada panel library yang muncul klik kanan movie clip benar lalu pilih linkage.
6. Pada panel yang muncul berikan tanda cek pada Export for ActionScript dan masukkan benar sebagai identifier lalu tekan ok.
7. Klik kanan movie clip salah di panel library lalu pilih linkage.
8. Pada panel yang muncul berikan tanda cek pada Export for ActionScript dan masukkan salah sebagai identifier lalu tekan ok.
9. Klik frame 7 layer script lalu tekan F9. Pada panel actions yang muncul ganti script yang ada dengan script di bawah ini :
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 187 188 189 190 191 192 193 194 195 196 197 | //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 dijawab dengan nilai false dijawab = 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; //hapus movie clip berinstance name benar di stage hasil attach removeMovieClip(benar); //hapus movie clip berinstance name salah di stage hasil attach removeMovieClip(salah); //ubah nilai variable dijawab menjadi false dijawab = 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() { if (!dijawab) { //jika variable cek pada button ini bernilai true if (this.cek) { //nilai variable nilai ditambah 1 nilai += 1; //memasukkan movie clip dengan identifier benar dari library ke stage dengan instance name benar benar = attachMovie("benar", "benar", _root.getNextHighestDepth(), {_x:this._x-75, _y:this._y+15}); //perintah yang dijalankan ketika frame di dalam movie clip benar dimainkan benar.onEnterFrame = function() { //koordinat y movie clip ini dikurangi 5 this._y -= 5; }; } //jika variable cek pada button ini bernilai false if (!this.cek) { //memasukkan movie clip dengan identifier salah dari library ke stage dengan instance name salah salah = attachMovie("salah", "salah", _root.getNextHighestDepth(), {_x:this._x-75, _y:this._y+15}); //perintah yang dijalankan ketika frame di dalam movie clip salah dimainkan salah.onEnterFrame = function() { //koordinat y movie clip ini dikurangi 5 this._y -= 5; }; } } //ubah nilai variable dijawab menjadi true dijawab = true; }; } |
10. Tekan Ctrl+Enter untuk melihat hasilnya.
11. Jika anda menjawab dengan benar maka akan muncul tanda contreng di sebelah kiri jawaban yang anda pilih. Sebaliknya jika anda menjawab dengan salah maka akan muncul tanda silang di sebelah kiri jawab yang anda pilih.
Sourcenya dapat di download di sini
/thanks2...
November 6th, 2009 at 11:13
mas keren bgt ne tutorialnya…saludddd…..
mo nanya ne mas.. gimana biar pertanyaannya tu ngacak,..gak berurutan sesuai nomor gitu, jadi jawabannya gak dihapalin..
and gmn juga buat pilihan2ny tu ngacak juga..
ato sekalian..soal n jwbnnya ngacak munculnya…
hehe bingung gak mas?? :-o
mohon petunjuknya…….
November 14th, 2009 at 07:39
Thx beraaaaaaaaaaaaat
November 14th, 2009 at 16:18
Sama-sammmmmmmmmmaa
December 11th, 2009 at 13:47
KEREEENNNN
Pengunjung baru nih..
December 13th, 2009 at 05:53
Selamat bergabung
July 5th, 2010 at 14:28
salam hormat buat mas admin…salut untuk kebesaran hatinya yg mau saling berbagi.
August 21st, 2010 at 00:02
mas, gimana cara upload game yg dah jadi trus cara masang’a di blog seperti punya mas ini?
August 22nd, 2010 at 14:13
Pake wordpress?
September 25th, 2010 at 15:09
mas kalo jawabanya gerakannya secara acak gimana caranya….???
November 26th, 2010 at 20:37
permainan anak kecil ,,,,,
November 30th, 2010 at 19:38
om..gmn sich cara buat autorun menggunakan flash untuk memanggil file exe
July 11th, 2011 at 01:15
newbie nih….mau tanya, gimana sih bikin game tangkap sesuatu dari atas (misalnya kaya monyet tangkep pisang yg dilemparkan oleh burung)…mohon pencerahan