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
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
<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
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
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