显示下一个元素在单击对象时的数组AS3 FLASH

时间:2015-05-13 10:50:53

标签: arrays actionscript-3 flash multidimensional-array

我目前有一个多维数组,用于存储所述数组的每个答案。当选择显示的数组的对象时,它应该移动到多维数组中的下一个数组。我已经看过一些教程,并在此处查了几个答案,但我还是无法弄明白。

这是我的多维数组:

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){

} 

我不知道需要在函数中添加什么内容,以便在单击对象时将其移动到数组中的元素上。

1 个答案:

答案 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);