Hai…I’ve a problem about quiz. So, if I was answered the first question with click one of 2 radio button and then clicked next button to see next questions…I found radio button was selected and I want that’s radio button not selected…How to do that? I use rb1.selected = false buat that’s useless …
import fl.controls.RadioButton;
import fl.controls.RadioButtonGroup;
stop();
var currIndex:Array;
var playerScore = 0;
var noSoal:int=0;
var k:int=1;
//var flag:int;
var rbGroup:RadioButtonGroup = new RadioButtonGroup("pilihanGanda");
var rb1:RadioButton = new RadioButton();
var rb2:RadioButton = new RadioButton();
rb1.x = 52;
rb1.y = 96;
rb2.x = 52;
rb2.y = 123.7;
rb1.group = rbGroup;
rb2.group = rbGroup;
function indexSoal():Array
{
var i:uint=0;
var arr:Array = [];
while (i<myXML.quiz.length())
{
arr.push(i);
i+=1;
}
return arr;
}
//trace(rb1);
addChild(rb1);
addChild(rb2);
//radio();
function radio()
{
rb1.selected = false;
rb2.selected = false;
addChild(rb1);
addChild(rb2);
}
showData();
function showData()
{
txtSoal.text = myXML.quiz[currIndex[noSoal]].soal;
rb1.label = myXML.quiz[currIndex[noSoal]].pilihanGanda.pilihan[0];
rb2.label = myXML.quiz[currIndex[noSoal]].pilihanGanda.pilihan[1];
}
//listener
btnNext.addEventListener(MouseEvent.CLICK, btnNextClicked);
function btnNextClicked(e:MouseEvent):void
{
var answer:String = checkAnswer();
if(answer != "none")
{
//hitung score
if(answer == String(myXML.quiz[noSoal].jawaban))
{
playerScore += 1;
}
removeChild(rb1);
removeChild(rb2);
noSoal++;
k++;
if(k <=5)
{
radio();
showData();
updateButton();
}
else
{
gotoAndStop("score");
}
}
}
//update button
function updateButton()
{
if(k <= 5)
{
btnNext.label = "Finish";
}
else
{
btnNext.label = "Next";
}
}
//process check answer
function checkAnswer():String
{
if(rb1.selected)
{
return String(rb1.label);
}
else if(rb2.selected)
{
return String(rb2.label);
}
return "none";
}