访问movieclip中的位图片段

时间:2012-03-26 17:52:02

标签: actionscript-3

我有一个10位图的动画片段。我想访问它们中的每一个。

myMovieClip是包含这10个位图的动画片段。我想逐个访问这些位图。所有10个位图都是单独导入的。 我试过这个:

for ( var i =0 ; i< myMovieClip.numChildren ; i++)
{


    trace ( myMovieClip.getChildAt(i) ); 

}

问题是numChildren只是“1”,好像它不考虑那10个位图。任何其他方式,访问这些位图?

感谢 诉

1 个答案:

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