我有一个10位图的动画片段。我想访问它们中的每一个。
myMovieClip是包含这10个位图的动画片段。我想逐个访问这些位图。所有10个位图都是单独导入的。 我试过这个:
for ( var i =0 ; i< myMovieClip.numChildren ; i++)
{
trace ( myMovieClip.getChildAt(i) );
}
问题是numChildren只是“1”,好像它不考虑那10个位图。任何其他方式,访问这些位图?
感谢 诉
答案 0 :(得分:2)
你的位图是什么意思?你的意思是10个不同的位图对象是movieClip的孩子吗?
此外,您的代码确实存在语法错误。
var newMc:MovieClip = MovieClip();
应该是:
var newMc:MovieClip = new MovieClip();
第二个关闭,在你的循环中,numChildren将一直在改变,因为你从myMoiveClip获取一个孩子的引用并将其移动到newMc对象。有两种方法可以解决这个问题。
将局部变量设置为myMovieClip.numChildren的值并在循环中使用该值 例如:
var numOfChildren:int = myMovieClip.numChildren;
for(var i:int = 0; i < numOfChildren; i++){
var newMc:MovieClip = new MovieClip();
newMc.addChild(myMovieClip.getChildAt(i));
}
这会将位图从myMovieClip移到newMc中,如果你想将它们保留在那里,你可以在循环中创建一个新的位图,然后将新的位图添加到newMc。 例如:
for(var i:int = 0; i < myMovieClip.numChildren; i++){
var newMc:MovieClip = new MovieClip();
var b:Bitmap = new Bitmap(Bitmap(myMovieClip.getChildAt(i)).bitmapData);
newMc.addChild(b);
}