我们喜欢使用我们将一系列幻灯片与声音同步的效果。当声音播放时,我们会显示每张幻灯片(它是MovieClip中自己的帧),并慢慢向上缩放幻灯片以提供一点点移动。我们的声音往往相当于父时间轴上的一帧,因此我们会查看该帧播放的声音,以计算每张幻灯片的显示时长。
我们遇到的问题是偶尔我们需要"伸展"两个或多个幻灯片中的一个动画,这意味着我们需要向前看,并根据显示包含幻灯片图像的MovieClip的帧范围内声音的组合长度来计算幻灯片长度。
但是,我还没有能够找到一个属性,告诉我MovieClip的显示时间线帧数(注意这与总帧不同,剪辑包含的帧数< / em>的)。只是一厢情愿地认为这样的财产存在,或者有人能指出我正确的方向吗?
答案 0 :(得分:0)
我不确定我是否正确理解了这个问题,但你尝试过MovieClip.currentFrame吗?
答案 1 :(得分:0)
你能创建一个这样的类,它将跟踪它在DisplayList上出现的帧数:
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;
}
}
}