Actionscript 3 访问movieclip中的位图片段
我有一个电影剪辑,里面有10个位图。我想访问它们中的每一个 myMovieClip是包含这10个位图的movieclip。我想一个接一个地访问那些位图。所有10个位图都是单独导入的。 我试过这个:Actionscript 3 访问movieclip中的位图片段,actionscript-3,Actionscript 3,我有一个电影剪辑,里面有10个位图。我想访问它们中的每一个 myMovieClip是包含这10个位图的movieclip。我想一个接一个地访问那些位图。所有10个位图都是单独导入的。 我试过这个: for ( var i =0 ; i< myMovieClip.numChildren ; i++) { trace ( myMovieClip.getChildAt(i) ); } for(变量i=0;i
for ( var i =0 ; i< myMovieClip.numChildren ; i++)
{
trace ( myMovieClip.getChildAt(i) );
}
for(变量i=0;i
问题是NUMSOCH只出现“1”,好像它不考虑那10块位图。还有其他方法可以访问这些位图吗
谢谢
V.位图片段是什么意思??你是说10个不同的位图对象是movieClip的子对象吗 此外,您的代码确实存在语法错误
var newMc:MovieClip = MovieClip();
应该是:
var newMc:MovieClip = new MovieClip();
其次,在循环中,numChildren总是在变化,因为您正在从myMoiveClip获取子对象的引用并将其移动到newMc对象。有两种方法可以解决这个问题
将局部变量设置为myMovieClip.numChildren的值,并在循环中使用该值
例如:
var numfochildren:int=myMovieClip.numChildren;
for(变量i:int=0;i
这将把位图从myMovieClip移到newMc中,如果您想将它们保留在那里,可以在循环中创建一个新位图,然后将新位图添加到newMc中。
例如:
for(变量i:int=0;i
你能解释一下你在做什么吗?比如,有10个位图的movieclip(顺便提一下,我假设“位图片段”实际上是独立的位图;或者删除“片段”或者解释其含义)是如何创建的?您说最好是“其中有10个位图”,您需要将它们转换为movieclip。trace(myMovieClip.getChildAt(0)是DisplayObjectContainer);
,如果返回值true
,则“10个位图”可能位于另一个DisplayObjectContainer
对象内。如果是这样,您可能需要执行以下(myMovieClip.getChildAt(0)作为DisplayObjectContainer)代码>。这只是一个基于你在问题中提供的模糊信息的猜测。请记住我之前所说的(除非是正确的),我想我知道发生了什么。OP在flash professional中创建了一个movieclip符号,“10张位图”是他添加到符号中的位图图像。mc“myMovieClip”包含10张位图。myMovieClip.numChildren始终为“1”(您的循环只运行一次)。但我已经导入了10个单独的位图。如何访问它们?您是否使用adobe Flash professional应用程序创建项目?如果是这样,您必须右键单击粘贴在movieclip中的每个位图(在库中),然后选择“属性”。然后按actionscript选项卡并选中“导出actionscript”框。还可以为每个位图指定一个类名。然后访问上面提到的位图。如果您愿意,还可以通过类名单独访问它们。
var numOfChildren:int = myMovieClip.numChildren;
for(var i:int = 0; i < numOfChildren; i++){
var newMc:MovieClip = new MovieClip();
newMc.addChild(myMovieClip.getChildAt(i));
}
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);
}