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



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 值与其他每个影片剪辑进行比较,然后相互移动。

提前谢谢。

你做对了。要访问数组中的对象,您需要再次循环访问它。试试这个,

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);
}

最新更新