MEMBUAT GAMES PILIHAN GANDA BERJALAN MENGGUNAKAN FLASH MACROMEDIA8
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 menudalam 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 panjangdengan 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 panjangdan 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_tampilpada 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_mc1sebagai 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 buttonmasukkan 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 komendalam 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 masukkanmainlagi_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 melihanya