Здравствуйте, имеется код:

Код:
<?xml version="1.0" encoding="UTF-8"?>
<myList>
<excercise>
<question>2 x 2?</question>
<answer>4</answer>
</excercise>
</myList>

Код AS3:
package
{
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.xml.*;
import flash.events.Event;
import flash.display.Loader;
public class Main extends MovieClip
{
var myFile:String;
var xmlLoader:URLLoader;
var myList:XML;
public function Main()
{
myFile = "myList.xml";
loadXml();
}
function loadXml():void
{
xmlLoader = new URLLoader(new URLRequest(myFile));
xmlLoader.addEventListener(Event.COMPLETE,xmlLoaded);
}
function xmlLoaded(event:Event):void
{
myList = new XML(event.target.data);
myList.ignoreWhite = true;
questionTxt.text = myList.excercise[0].question;
checkBtn.addEventListener(MouseEvent.CLICK, checkAnswer)
}
function checkAnswer (event:MouseEvent) : void {
if (answerTxt.text == myList.excercise[0].answer) {
trace ("correct");
} else {
trace ("wrong");
}
}
}
}
Как перейти к следующему вопросу, если дан правильный ответ?
Добавлено через 1 час 37 минут
Пробовал так, что то не выходит:

Код AS3:
for (var i:uint = 0; i < NUM_QUESTIONS; i++) {
questionTxt.text = myList.excercise[i].question;
checkBtn.addEventListener(MouseEvent.CLICK, checkAnswer);
}
Добавлено через 1 час 52 минуты
Попробовал так:

Код AS3:
package
{
import flash.display.*;
import flash.net.*;
import flash.xml.*;
import flash.text.*;
import flash.events.*;
import org.casalib.util.ArrayUtil;
public class Main extends MovieClip
{
var myFile:String;
var xmlLoader:URLLoader;
var myList:XML;
var questionTxt:TextField = new TextField();
var questionNumber:uint = 0;
var correctNumber:uint = 0;
var correctAnswer:String;
var randomAnswer:Array;
const NUM_QUESTIONS:uint = 3;
public function Main()
{
right = new Sprite();
addChild(right);
myFile = "myList.xml";
loadXml();
}
function loadXml():void
{
xmlLoader = new URLLoader(new URLRequest(myFile));
xmlLoader.addEventListener(Event.COMPLETE,xmlLoaded);
}
public function randomiseArray(answers:XMLList):Array {
var rArray:Array = new Array();
for (var i:uint = 0; i < NUM_QUESTIONS; i++) {
rArray.push(answers[i]);
}
return ArrayUtil.randomize(rArray);
}
function nextQuest ():void {
correctAnswer = myList.excercise[questionNumber].answer[0];
randomAnswer = randomiseArray ( myList.excercise[questionNumber].answer.children() );
questionTxt.type = "dynamic";
questionTxt.width = 208;
questionTxt.height = 32;
questionTxt.x = 196;
questionTxt.y = 101;
addChild(questionTxt);
questionTxt.text = myList.excercise[questionNumber].question;
for (var i:uint = 0; i < NUM_QUESTIONS; i++) {
var answerTxt:TextField = new TextField(randomAnswer[i]);
answerTxt.type = "input";
answerTxt.x = 196;
answerTxt.y = 301;
answerTxt.width = 208;
answerTxt.height = 32;
answerTxt.background = true;
answerTxt.backgroundColor = 0xFFF00;
answerTxt.addEventListener(KeyboardEvent.KEY_UP, checkAnswer);
addChild(answerTxt);
}
}
function xmlLoaded(event:Event):void
{
myList = new XML(event.target.data);
myList.ignoreWhite = true;
totalNr = myList.excercise.length();
nextQuest();
}
function checkAnswer (e:KeyboardEvent):void
{
while (right.numChildren) right.removeChildAt(0);
if(correctAnswer == e.target.getChildAt(e.target.numChildren - 1).text) correctNumber++;
if (questionNumber == myList.excercise.length()-1) {
trace ("wrong");
answerTxt.backgroundColor = 0xFF0000;
}else{
trace ("correct");
answerTxt.backgroundColor = 0xFFF00;
correctNumber++;
nextQuest();
}
}
}
}
Не выходит как то.
Задача кода в том, чтобы правильный ответ вводился в answerTxt, и если он правильный то тут же следовал следующий вопрос.
Как осуществить, что то не доходит.