Senin, 11 Maret 2013

Kuis Benar Salah (Flash)


Tentunya anda sudah pernah mengerjakan suatu soal yang di dalamnya hanya disuruh untuk memilih benar atau salah. Soal semacam ini sangat menyenangkan untuk dikerjakan. Perbandingan jawaban benar dan salahnya adalah  50:50. Kali ini kita akan membuat kuis dengan dasar soal benar salah tersebut. Kuis ini memiliki 10 soal dan untuk soalnya berhubung untuk tutorial dasar, kami menggunakan soal matematika (berhitung) saja. Anda dapat menggantinya apabila ingin menggunakan soal yang lain.
1. Buatlah sebuah flash document.
2. Buatlah 10 static text yang berisi soal seperti gambar di bawah ini :
soal
3. Buatlah 2 buah static text bertuliskan B dan S. Buatlah 2 lingkaran berwarna hijau dengan hitamsebagai warna garisnya. Letakkan masing-masing kedua lingkaran ini pada static text bertuliskan B dan S.
tombol benar salah
4. Seleksi static text bertuliskan B dan lingkaran yang ada di static text ini kemudian tekan F8. Pada panel yang muncul masukkan benar_btn sebagai name dan button sebagai type lalu tekan ok.
5. Seleksi static text bertuliskan S dan lingkaran yang ada di static text ini kemudian tekan F8. Pada panel yang muncul masukkan salah_btn sebagai name dan button sebagai type lalu tekan ok.
6. Seleksi benar_btn dan pilih Edit. Klik kanan frame Over dan pilih Insert KeyFrame. Ubah nilai transparansi pada warna hijau lingkaran di frame over menjadi 60%.Jika sudah tekan Ctrl+E.
7. Seleksi salah_btn dan pilih Edit. Klik kanan frame Over dan pilih Insert KeyFrame. Ubah nilai transparansi pada warna hijau lingkaran di frame over menjadi 60%.Jika sudah tekan Ctrl+E.
8. Seleksi benar_btn dan salah_btn kemudian tekan Ctrl+D sebanyak 9 kali sehingga di stage muncul 9 buah benar_btn dan 9 buah salah_btn.
9. Masukkan instance name pada 10 buah benar_btn dan salah_btn, dengan instance name seperti gambar di bawah ini :
instance name tombol
10. Letakkan 10 buah benar_btn dan salah_btn di samping soal.
letak tombol
11. Buatlah sebuah dynamic text. Seleksi dynamic text ini dan pada panel properties masukkan nilai di dalam kotak var.
12. Buatlah 2 buah static text bertuliskan Koreksi dan Ulangi. Buatlah 2 buah persegi panjang berwarna hijau dengan hitam sebagai warna garisnya. Letakkan masing-masing kedua persegi panjang ini pada static textbertuliskan Koreksi dan Ulangi.
13. Silahkan ubah ukuran persegi panjang sampai panjang dan lebarnya sama dengan panjang dan lebarstatic text.
tombol koreksi dan ulang
14. Seleksi static text bertuliskan Koreksi dan persegi panjang yang ada di static text ini kemudian tekan F8. Pada panel yang muncul masukkan koreksi_btn sebagai name dan button sebagai type.
15. Seleksi koreksi_btn kemudian pada panel properties masukkan koreksi_btn sebagai instance name.
16. Seleksi static text bertuliskan Ulangi dan persegi panjang yang ada di static text ini kemudian tekan F8. Pada panel yang muncul masukkan ulangi_btn sebagai name dan button sebagai type.
17. Seleksi ulangi_btn kemudian pada panel properties masukkan ulangi_btn sebagai instance name.
18. Letakkan dynamic text nilai, koreksi_btn, dan ulangi_btn di stage bagian bawah seperti gambar di bawah ini :
letak kuis benar salah
19. Bukalah file contreng.fla dari tutorial Animasi Contreng dan Silang
20. Seleksi frame 1 sampai 20 pada Layer 1 dan Layer 2 kemudian klik kanan frame yang anda seleksi tersebut dan pilih Copy Frames. Buka kembali fla yang anda gunakan untuk membuat kuis benar salah.
21. Tekan Ctrl+F8 dan pada panel yang muncul masukkan contreng sebagai name dan movie clip sebagai type serta pastikan titik registrationnya berada di tengah-tengah lalu tekan ok.
22. Anda akan masuk ke dalam stage movie clip contreng. Klik kanan frame 1 kemudian pilih Paste Frames. Jika sudah tekan Ctrl+E untuk kembali ke stage scene 1.
23. Bukalah file silang.fla dari tutorial Animasi Contreng dan Silang
24. Seleksi frame 1 sampai 20 pada Layer 1 sampai Layer 5 kemudian klik kanan frame yang anda seleksi tersebut dan pilih Copy Frames. Buka kembali fla yang anda gunakan untuk membuat kuis benar salah.
25. Tekan Ctrl+F8 dan pada panel yang muncul masukkan silang sebagai name dan movie clip sebagai type serta pastikan titik registrationnya berada di tengah-tengah lalu tekan ok.
26. Anda akan masuk ke dalam stage movie clip silang. Klik kanan frame 1 kemudian pilih Paste Frames. Jika sudah tekan Ctrl+E untuk kembali ke stage scene 1.
27. Tekan Ctrl+L dan pada panel library yang muncul klik kanan movie clip contreng lalu pilih Linkage. Pada panel yang muncul berikan tanda cek/centang pada Export for ActionScript kemudian masukkan contreng sebagai identifier.
28. Klik kanan movie clip silang di panel library dan pilih linkage. Pada panel yang muncul berikan tanda cek/centang pada Export for ActionScript kemudian masukkan silang sebagai identifier.
29. Klik frame 1 dan tekan F9. Pada panel actions yang muncul 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
//membuat variable dengan nilai jawaban benar pada setiap soal
jawabanBenar1 = "benar";
jawabanBenar2 = "salah";
jawabanBenar3 = "benar";
jawabanBenar4 = "benar";
jawabanBenar5 = "benar";
jawabanBenar6 = "salah";
jawabanBenar7 = "salah";
jawabanBenar8 = "benar";
jawabanBenar9 = "benar";
jawabanBenar10 = "salah";
//membuat variable jumlahBenar dengan nilai 0
jumlahBenar = 0;
//membuat variable jumlahSalah dengan nilai 0
jumlahSalah = 0;
for (i=1; i<=10; i++) {
 //membuat variable jawabanPemain+i dengan nilai kosong
 _root["jawabanPemain"+i] = "";
 //membuat variable no di dalam benar_btn+i dengan nilai sama dengan nilai variable i
 _root["benar_btn"+i].no = i;
 //membuat variable no di dalam salah_btn+i dengan nilai sama dengan nilai variable i
 _root["salah_btn"+i].no = i;
 //ketika tombol benar_btn+nilai variable i ditekan
 _root["benar_btn"+i].onPress = function() {
  //ubah nilai transparansi tombol ini menjadi 40
  this._alpha = 40;
  //ubah nilai jawabanPemain+nilai variable no tombol ini menjadi benar
  _root["jawabanPemain"+this.no] = "benar";
  //ubah nilai transparansi salah_btn+nilai variable no tombol ini menjadi 100
  _root["salah_btn"+this.no]._alpha = 100;
 };
 //ketika tombol salah_btn+nilai variable i ditekan
 _root["salah_btn"+i].onPress = function() {
  //ubah nilai transparansi tombol ini menjadi 40
  this._alpha = 40;
  //ubah nilai jawabanPemain+nilai variable no tombol ini menjadi salah
  _root["jawabanPemain"+this.no] = "salah";
  //ubah nilai transparansi benar_btn+nilai variable no tombol ini menjadi 100
  _root["benar_btn"+this.no]._alpha = 100;
 };
}
//ketika tombol koreksi_btn ditekan
koreksi_btn.onPress = function() {
 for (j=1; j<=10; j++) {
  //membuat variable no di dalam tombol koreksi_btn dengan nilai sama dengan nilai variable j
  koreksi_btn.no = j;
  //seluruh tombol benar_btn dan salah_btn tidak dapat ditekan
  _root["benar_btn"+j].enabled = false;
  _root["salah_btn"+j].enabled = false;
  //jika nilai variable jawabanPemain+nilai variable j sama dengan nilai variable jawabanBenar+nilai variable j
  if (_root["jawabanPemain"+j] == _root["jawabanBenar"+j]) {
   //nilai variable jumlahBenar ditambah 1
   jumlahBenar += 1;
   //jalankan fungsi animContreng
   animContreng(this.no, _root["salah_btn"+this.no]._x+30, _root["salah_btn"+this.no]._y);
  }
  //jika nilai variable jawabanPemain+nilai variable j tidak sama dengan nilai variable jawabanBenar+nilai variable j      
  if (_root["jawabanPemain"+j] != _root["jawabanBenar"+j]) {
   //nilai variable jumlahSalah ditambah 1
   jumlahSalah += 1;
   //jalankan fungsi animSilang
   animSilang(this.no, _root["salah_btn"+this.no]._x+30, _root["salah_btn"+this.no]._y);
  }
  //tampilkan tulisan Benar : +nilai variable jumlahBenar +"    "+Salah : +nilai variable jumlahSalah pada dynamic text nilai     
  nilai = "Benar : "+jumlahBenar+"    "+"Salah : "+jumlahSalah;
 }
 //tombol koreksi_btn tidak dapat ditekan
 this.enabled = false;
 //ubah nilai transparansi tombol koreksi_btn menjadi 40
 this._alpha = 40;
};
//ketika tombol ulangi_btn ditekan
ulangi_btn.onPress = function() {
 for (k=1; k<=10; k++) {
  //kosongkan dynamic text nilai 
  nilai = "";
  //ubah nilai jumlahBenar menjadi 0
  jumlahBenar = 0;
  //ubah nilai jumlahSalah menjadi 0
  jumlahSalah = 0;
  //ubah nilai transparansi tombol koreksi_btn menjadi 100
  koreksi_btn._alpha = 100;
  //tombol koreksi_btn dapat ditekan kembali
  koreksi_btn.enabled = true;
  //hapus animasi contreng dari stage
  _root["contreng"+k].removeMovieClip();
  //hapus animasi silang dari stage
  _root["silang"+k].removeMovieClip();
  //kosongkan nilai jawabanPemain+k
  _root["jawabanPemain"+k] = "";
  //ubah nilai transparansi tombol benar_btn+k menjadi 1000
  _root["benar_btn"+k]._alpha = 100;
  //ubah nilai transparansi tombol salah_btn+k menjadi 1000
  _root["salah_btn"+k]._alpha = 100;
  //seluruh tombol benar_btn dan salah_btn dapat ditekan kembali
  _root["benar_btn"+k].enabled = true;
  _root["salah_btn"+k].enabled = true;
 }
};
//fungsi animContreng
function animContreng(id, posX, posY) {
 //memasukkan movie clip dengan identifier contreng ke stage 
 contreng = attachMovie("contreng", "contreng"+id, _root.getNextHighestDepth(), {_x:posX, _y:posY});
 //kecilkan movie clip contreng dengan skala x 20 dan y 20
 contreng._xscale = 20;
 contreng._yscale = 20;
}
//fungsi animSilang
function animSilang(id, posX, posY) {
 //memasukkan movie clip dengan identifier silang ke stage 
 silang = attachMovie("silang", "silang"+id, _root.getNextHighestDepth(), {_x:posX, _y:posY});
 //kecilkan movie clip silang dengan skala x 20 dan y 20
 silang._xscale = 20;
 silang._yscale = 20;
}
30. Tekan Ctrl+Enter untuk melihat hasilnya.
Sourcenya dapat di download di sini

Tidak ada komentar:

Posting Komentar