2013-07-08 45 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