我目前有一个多维数组,用于存储所述数组的每个答案。当选择显示的数组的对象时,它应该移动到多维数组中的下一个数组。我已经看过一些教程,并在此处查了几个答案,但我还是无法弄明白。
这是我的多维数组:
var characterArray:Array = new Array();
characterArray[0] = [pirateboy, pirategirl, pig]; //pig is the ans
characterArray[1] = [pirateboy1, pirategirl1 ,parrot1]; //pirateboy is the ans
characterArray[2] = [pirategirl, pirateboy, pirateboy]; //pirategirl is the ans
characterArray[3] = [parrot1, snowman, parrot1]; //snowman is the ans
var randomnumber = Number;
randomnumber = Math.floor(Math.random() * (characterArray.length));
trace(randomnumber);
这是单击对象时当前发生的情况。我只是把这个作为一个例子,因为它们都是一样的。
pig.addEventListener(MouseEvent.CLICK, rightanswer);
function rightanswer (event:MouseEvent){
if (MovieClip(event.target) == characterArray[0][2])
{
score = score + 5;
Score_txt.text = (score).toString();
setTimeout(DisplayAnswer,1000);
}
}
这是我的下一个问题功能:
characterArray.addEventListener(MouseEvent.CLICK, nextquestion);
function nextquestion(event:MouseEvent){
}
我不知道需要在函数中添加什么内容,以便在单击对象时将其移动到数组中的元素上。
答案 0 :(得分:0)
首先,从pig
数组中剪切characterArray[0]
。
var cuttedPig:MovieClip = characterArray[0].splice(2);
接下来,选择将粘贴pig
的随机数组。
var randomArray:int = Math.round((Math.random() * (characterArray.length-2))+1); // 1, 2 or 3
最后,将pig
添加到随机数组的开头。
characterArray[randomArray].splice(0, 0, cuttedPig);