data.xml
- Isi file data.xml dengan teks
berikut :
-
·
<quiz>
·
<pertanyaan>
·
<soal>Binatang apakah yang tidak
memiliki cakar ?</soal>
·
<jawaban no="1"
label="Kucing" />
·
<jawaban no="2"
label="Tikus" />
·
<jawaban no="3"
label="Anjing" />
·
<jawaban no="4"
label="Cacing" />
·
<jawabanbenar no="4" />
·
</pertanyaan>
·
<pertanyaan>
·
<soal>Apakah situs
flashindonesia.org bagus ?</soal>
·
<jawaban no="1"
label="Bagus" />
·
<jawaban no="2"
label="Jelek" />
·
<jawaban no="3"
label="Sangat Jelek" />
·
<jawaban no="4"
label="Parah" />
·
<jawabanbenar no="4" />
·
</pertanyaan>
·
<pertanyaan>
·
<soal>Kenapa bumi bulat
?</soal>
·
<jawaban no="1"
label="Karena dari sananya." />
·
<jawaban no="2"
label="Karena ciptaan tuhan" />
·
<jawaban no="3"
label="Karena memang bulat" />
·
<jawaban no="4"
label="Benar semua" />
·
<jawabanbenar no="4" />
·
</pertanyaan>
·
<pertanyaan>
·
<soal>Siapa bapak presiden kita sekarang
?</soal>
·
<jawaban no="1"
label="Soekarno" />
·
<jawaban no="2"
label="Susilo Bambang Yudhoyono" />
·
<jawaban no="3"
label="Megawati Soekarno Putri" />
·
<jawaban no="4"
label="Bacharuddin Jusuf Habibie" />
·
<jawabanbenar no="2" />
·
</pertanyaan>
·
</quiz>
·
·
Sekarang saatnya kita mengetik scriptnya klik pada frame 1, kemudian tekan
F9. Ketikkan script berikut
· stop();
· //deklarasi objek soal
· var arraySoal:Array = new Array();
·
· //deklarasi XML
· var myXML:XML = new XML();
· myXML.ignoreWhite = true;
· myXML.load("data.xml");
· myXML.onLoad = function(success) {
· if (success) {
· var myNode = myXML.firstChild.childNodes;
· for (i=0; i<myNode.length; i++) {
· //mengambil data dari XML
· var soal = myNode[i].childNodes[0].firstChild;
· var jawaban1 = myNode[i].childNodes[1].attributes.label;
· var jawaban2 = myNode[i].childNodes[2].attributes.label;
· var jawaban3 = myNode[i].childNodes[3].attributes.label;
· var jawaban4 = myNode[i].childNodes[4].attributes.label;
· var jawabanBenar = myNode[i].childNodes[5].attributes.no;
·
· //memasukkannya ke dalam object
· var obj = new Object();
· obj.soal = soal;
· obj.jawaban1 = jawaban1;
· obj.jawaban2 = jawaban2;
· obj.jawaban3 = jawaban3;
· obj.jawaban4 = jawaban4;
· obj.jawabanBenar = jawabanBenar;
·
· //memasukkan ke dalam array
· arraySoal.push(obj);
· }
· prosesSoal();
· }
· };
· //counter digunakan sebagai nomor soal
· var counter = 0;
· //jawaban benar akan terisi pada proses soal
· var jawabanBenar = 0;
· //nilai awal
· var nilai = 0;
·
· function prosesSoal() {
· //jika soal masih ada
· if (counter<arraySoal.length) {
· //mengambil soal pada nomor ke-counter
· var obj = arraySoal[counter];
· //mengubah tampilan
· pertanyaan_txt.text = obj.soal;
· radio1.label = obj.jawaban1;
· radio2.label = obj.jawaban2;
· radio3.label = obj.jawaban3;
· radio4.label = obj.jawaban4;
· jawabanBenar = obj.jawabanBenar;
· radio1.selected = false;
· radio2.selected = false;
· radio3.selected = false;
· radio4.selected = false;
· //meingkatkan counter
· counter++;
· } else {
· //jika soal habis, maka menuju ke halaman 2
· gotoAndStop(2);
· }
· }
·
· function cekSoal(jawaban:Number) {
· if (jawaban == jawabanBenar) {
· //menambah nilai
· nilai += 10;
· trace("benar");
· }
· prosesSoal();
· }
·
· var listenerObject:Object = new Object();
· listenerObject.click = function(eventObj:Object) {
· //saat di-klik
· if (eventObj.target == radio1) {
· cekSoal(1);
· } else if (eventObj.target == radio2) {
· cekSoal(2);
· } else if (eventObj.target == radio3) {
· cekSoal(3);
· } else if (eventObj.target == radio4) {
· cekSoal(4);
· }
· };
·
· //memberikan event click pada radiobutton
· radio1.addEventListener("click",listenerObject);
· radio2.addEventListener("click",listenerObject);
· radio3.addEventListener("click",listenerObject);
· radio4.addEventListener("click",listenerObject);
·
· Koding di atas menjelaskan jika soal habis,
maka kita menuju frame 2. Nah, berarti sekarang klik frame 2, tambahkan sebuah
dynamic text dengan nama variabel yaitu nilai. Jangan lupa untuk tidak
mencentang Auto Kern.
Nilai
· Kurang lengkap rasanya jika tidak kita
berikan tombol kembali. Buat tombol kembali seperti di bawah ini, beri instance
name berupa kembali_btn.