2013-07-08 29 views
0

我想拧紧影片剪辑播放速度两倍的时间,这里的代码如何操纵movieclip内嵌嵌入movieclip?

mc.addEventListener(Event.ENTER_FRAME,function(e:Event):void{ 
    mc.nextFrame(); 
}); 

这个工作,如果影片剪辑只有一个level.but与嵌套影片剪辑,它不能帮助。 当调用mc.stop();嵌套的影片剪辑将不会停止。我发送各种事件,如输入帧,EXIT FRAME,RENDER到他们的父母希望使他们移动到下一帧,但嵌套的影片剪辑不会移动。

认为还有一种方法可以让所有动画片段对象在该动画片段下移动,但这不是一个好的选择,因为我无法预测其中的代码。

回答

1

你可以使用这样的功能:

function callOnChildren(container:DisplayObjectContainer, method:String, args:Array = null):void 
{ 
    for(var i:int = 0; i < container.numChildren; i++) 
    { 
     var child:DisplayObject = container.getChildAt(i); 
     child[method].apply(child, args); 
    } 
} 

然后调用nextFrame()上所有的孩子,像这样:

callOnChildren(mc, "nextFrame"); 

其他方法工作太:

callOnChildren(mc, "gotoAndStop", [3]); 
+0

我曾提到过这不是一个好的选择,虽然它可以在某些情况下工作。 – user2003548

+0

希望有一些方法可以模拟输入框架操作,而无需真正等待它的调用。 – user2003548

+0

@ user2003548如果您不重复他们,您会如何引用孩子?即使在典型的情况下,您也可以将所有项目都放入某种类型的列表中并对它们进行迭代。 – Marty