我正在写一个测验应用程序。所有问题和答案选项均来自屏幕上显示的xml,并带有此操作代码脚本
for (i=0; i < numberOfQuestions; i++) {
var questionTextField = new TextField();
addChild(questionTextField);
questionTextField.text=i + " " + myXML.QNODE[i].QUESTION.text();
questionTextField.name="q"+i;
questionTextField.width=400;
questionTextField.x= 0;
questionTextField.y=i * 100;
generateAnswers(i);
}
但是,我想先显示5个问题然后再显示5个问题,依此类推。我们怎么做到这一点?
答案 0 :(得分:0)
您可以预先解析XML,以便在Array
中包含所有问题。然后,您可以将创建问题的循环抽象为function
,其中包含问题索引的参数(在每组问题完成时您将增加)和分页限制(每次显示的问题数量) )。您还需要一个例程来每次清除问题字段(您可以考虑将字段存储在Array上进行管理)。如下所示:
var questions:Array = parseXML();
showQuestions(0, 5);
function parseXML():Array
{
var arr:Array = [];
for (i=0; i < numberOfQuestions; i++) {
arr.push(myXML.QNODE[i].QUESTION.text());
}
return arr;
}
function showQuestions(index:int, limit:int):void
{
for (var i:int = index; i <= (index + limit); i ++)
{
var questionTextField = new TextField();
addChild(questionTextField);
questionTextField.text=i + " " + questions[i];
questionTextField.name="q"+i;
questionTextField.width=400;
questionTextField.x= 0;
questionTextField.y=i * 100;
generateAnswers(i);
}
}
function clearQuestions():void
{
// Routine to clear old questions
}