Actionscript 3 AS3 Can';t在舞台上访问MC
我有54个MC在舞台上,动态生成。现在我想在翻滚时获得它们的x和y位置,但我在获得正确的路径时遇到问题,例如Actionscript 3 AS3 Can';t在舞台上访问MC,actionscript-3,Actionscript 3,我有54个MC在舞台上,动态生成。现在我想在翻滚时获得它们的x和y位置,但我在获得正确的路径时遇到问题,例如 function copyFlightCellData():void { var r; var s; var cellData:Array = new Array (); for (r = 0; r < 54; r++){ //var copyCellData = new MovieClip(); cellData[r] = Object(root).mc85.
function copyFlightCellData():void {
var r; var s;
var cellData:Array = new Array ();
for (r = 0; r < 54; r++){
//var copyCellData = new MovieClip();
cellData[r] = Object(root).mc85.name; //["mc"+r+r];
trace("$$$$$$$$$$$$$$$$$$$$$" + cellData[r]);
}
}
要按名称访问它,您必须在创建它们时为它们指定一个名称
mc85.name = "mc85";
作为我推荐的另一种选择,您可以使用getChildAt(index)
:()
另外,我强烈建议您创建一个空的movieclip或sprite,并将所有这些MC添加到它们中,而不是根。答案非常简单,使用
DisplayObjectContainer
对象,在本例中为root
,getChildByName()
方法,例如:
var sprite1:Sprite = new Sprite();
sprite1.name = "sprite1";
addChild(sprite1);
trace((root as DisplayObjectContainer).getChildByName("sprite1").name); // output : sprite1
首先,最好将舞台上的电影剪辑以数组形式存储。我用一个名字创建了MC。我已经添加了一些代码来展示我是如何做到的,以防我在那里也搞砸了!好啊这没什么错。虽然getChildAt()会快得多。谢谢。我刚刚在另一个上下文中使用了getChildAt,它工作得很好。谢谢
var sprite1:Sprite = new Sprite();
sprite1.name = "sprite1";
addChild(sprite1);
trace((root as DisplayObjectContainer).getChildByName("sprite1").name); // output : sprite1