对于舞台上的每个项目(类),将每个项目添加到数组中?

时间:2013-12-21 18:46:44

标签: arrays actionscript-3 function timeline

trace(listOfCells)我不明白如何做到这一点。我目前在时间轴上有这段代码:

var listOfCells:Array = new Array();

for (var i:int =0; i < stage.numChildren; i++)
{
    listOfCells.push(stage.getChildAt(i));
}

trace(listOfCells)

如何键入将类的每个项添加到数组的代码?因为当我跟踪数组时,它只会说[对象MainTimeline]一次,而不是两次(我在舞台上有两个相同的动画片段)。

所有这一切的原因是我可以将每个动画片段的x和y值与每个其他值进行比较,然后相互移动。

提前致谢。

1 个答案:

答案 0 :(得分:0)

你做得对。要访问数组中的对象,您需要再次遍历它。试试这个,

var listOfCells:Array = new Array();

for (var i:int =0; i < this.numChildren; i++)
{
    listOfCells.push(this.getChildAt(i));
}

var len:int = listOfCells.length;
for (var j:int =0; j < len; j++)
{
    trace(listOfCells[j].x);
}

或者您可以访问应用程序的根目录以获取如下所示的元素

var listOfCells:Array = new Array();

for (var i:int =0; i < (root as MovieClip).numChildren; i++)
{
    listOfCells.push((root as MovieClip).getChildAt(i));
}

trace(listOfCells)

var len:int = listOfCells.length;
for (var j:int =0; j < len; j++)
{
    trace(listOfCells[j].x);
}