Kali ini mencoba membantu teman lagi yang ada di forum babe flash untuk membuat sebuah quis secara random dengan as3 ockey... berikut cuplikan demonya
Demo
berikut kode xml yang digunakan
<pertanyaan>
<q id="0">
<s>1+1</s>
<j>2</j>
</q>
<q id="1">
<s>12+3</s>
<j>15</j>
</q>
<q id="2">
<s>14+5</s>
<j>19</j>
</q>
<q id="3">
<s>16+2</s>
<j>18</j>
</q>
<q id="4">
<s>19+7</s>
<j>26</j>
</q>
<q id="5">
<s>5+5</s>
<j>10</j>
</q>
<q id="6">
<s>10+6</s>
<j>16</j>
</q>
<q id="7">
<s>12+5</s>
<j>17</j>
</q>
<q id="8">
<s>13+3</s>
<j>16</j>
</q>
<q id="9">
<s>16+5</s>
<j>21</j>
</q>
<q id="10">
<s>89x2</s>
<j>178</j>
</q>
</pertanyaan>
berikut potongan kode actionscript 3 yang digunakan
var _loader:URLLoader = new URLLoader();
var pertanyaan:XML = new XML();
_loader.addEventListener(Event.COMPLETE, readXML);
_loader.load(new URLRequest("pertnyaan.xml"));
function readXML(event:Event):void
{
pertanyaan = new XML(event.target.data);
trace("XML file loaded!");
//mulai random
function generateRandompertanyaan(isidata:XML, rdms:int = 5):XMLList
{
if (isidata..s.length() < rdms)
{
return isidata..s;
}
var daftar:XMLList;
var hash:Array = [];
var randomPosition:int;
var rdm:XML;
do
{
rdm =isidata.*[(Math.random() * isidata..s.length()) >> 0];
if (hash.indexOf(rdm) < 0)
{
hash.push(rdm);
daftar ? daftar += rdm:daftar = XMLList(rdm);
}
} while (daftar.length() < rdms);
return daftar;
}
var awal = generateRandompertanyaan(pertanyaan);
trace(awal.@id);
var seet = 0;
soal.text = awal.s[seet];
cek.addEventListener(MouseEvent.CLICK, cekjwab);
var nilai = 0;
score.text = "score : " + nilai;
function cekjwab(event:MouseEvent):void
{
if (jwab.text == awal.j[seet] && seet < 4)
{
trace("benar");
seet++;
soal.text = awal.s[seet];
nomor.text = (seet + 1) + ".";
jwab.text = "";
nilai += 20;
score.text = "score : " + nilai;
}
else if (jwab.text!=awal.j[seet] && seet<4)
{
trace("salah");
seet++;
soal.text = awal.s[seet];
nomor.text = (seet + 1) + ".";
jwab.text = "";
}
else if (jwab.text!=awal.j[seet] && seet==4)
{
trace("salah");
ucpn();
}
else if (jwab.text==awal.j[seet] && seet==4)
{
trace("benar");
nilai += 20;
ucpn();
}
function ucpn()
{
score.text = "score : " + nilai;
gotoAndPlay(3);
if (nilai>=50)
{
penghargaan.text = "bagus ";
}
if (nilai<=49)
{
penghargaan.text = "bodoh ";
}
}
}
}
cek.buttonMode = true;
stop();
bagi yang berminat silakan klik tombol download berikut
0 komentar:
Post a Comment