你可以創建一個這樣的類,它會跟蹤幀的數量就已經出現在顯示列表:
package
{
import flash.display.MovieClip;
import flash.events.Event;
public class ExtMovieClip extends MovieClip
{
// Properties.
private var _lifetime:int = 0;
// Constructor.
public function ExtMovieClip()
{
addEventListener(Event.ADDED_TO_STAGE, _added);
}
// Was added to the DisplayList.
private function _added(e:Event):void
{
removeEventListener(Event.ADDED_TO_STAGE, _added);
addEventListener(Event.ENTER_FRAME, _track);
addEventListener(Event.REMOVED_FROM_STAGE, _removed);
}
// Was removed from the DisplayList.
private function _removed(e:Event):void
{
removeEventListener(Event.REMOVED_FROM_STAGE, _removed);
removeEventListener(Event.ENTER_FRAME, _track);
addEventListener(Event.ADDED_TO_STAGE, _added);
}
// Increment the lifetime of this MovieClip.
public function _track(e:Event):void
{
_lifetime ++;
}
// Retunrns the lifetime of this MovieClip.
public function get lifetime():int
{
return _lifetime;
}
}
}
因此,當與動畫影片剪輯觸發ADDED_TO_STAGE,設置currentFrame會出現顯示該動畫的幀範圍的_first_幀的幀。如果該動畫在父節點的時間軸上顯示三幀,您是否可以澄清如何知道currentFrame值是知道動畫出現在三個連續幀上的助手?我沒有遵循你的邏輯。 –
好的,我需要更多關於聲音的位置以及組織時間軸的方式的說明。你的描述不會給我任何想法。爲什麼在一個框架上的聲音?你爲什麼拉伸動畫? –
當我們進入框架時,我們播放聲音。當聲音完成後,我們經常(但不總是)前進到下一幀。故事板圍繞「事件」進行組織,其中每個事件的意圖是= 1個聲音。然而,有時聲音文件會被分解成兩個或更多的聲音/幀,例如,如果我們正在構建一個項目符號列表,那麼聲音會被分解成幾個,每個「子彈」將會在它自己的幀上(主要是同步原因)。然而,圖像的原始序列將被不加改變地使用,跨越多個幀。不確定這個問題的原因。 –