Actionscript 播放电影剪辑,让它等到主电影结束后再重新启动
我有一个闪光的旗帜,其中包括一个正在动画的标志电影剪辑。我想标志动画只运行在主“电影”的开头。目前,我必须找到整个电影的长度(例如500帧),然后在logo电影剪辑的第500帧处放置一个关键帧。我知道必须有一个正确的方法来做到这一点…我是否要在主时间线的末尾添加一个帧名称,并以某种方式在徽标电影剪辑中说“当你到达X goToAndPlay(1);”?嗯,你不能简单地做“当你做这个,做那个” 我现在想到两种方法。首先(更)合适的方法是添加一个Actionscript 播放电影剪辑,让它等到主电影结束后再重新启动,actionscript,Actionscript,我有一个闪光的旗帜,其中包括一个正在动画的标志电影剪辑。我想标志动画只运行在主“电影”的开头。目前,我必须找到整个电影的长度(例如500帧),然后在logo电影剪辑的第500帧处放置一个关键帧。我知道必须有一个正确的方法来做到这一点…我是否要在主时间线的末尾添加一个帧名称,并以某种方式在徽标电影剪辑中说“当你到达X goToAndPlay(1);”?嗯,你不能简单地做“当你做这个,做那个” 我现在想到两种方法。首先(更)合适的方法是添加一个dispatchEvent(新事件(_Event_TYP
dispatchEvent(新事件(_Event_TYPE__))代码>到要停止的帧,然后向movieclip添加侦听器,如:
mc1.addEventListener(Event.__EVENT_TYPE__, stopPlayback);
function stopPlayback( e:Event ):void{
mc1.stop();
mc1.removeEventListener(Event.__EVENT_TYPE__, stopPlayback);
}
因此,当事件被调度时,您将停止播放。例如,您可以使用Event.COMPLETE或创建自定义事件
第二种方法是添加一个事件。输入\u FRAME Event listener,然后检查是否返回到第一个帧,如果已循环返回到最后一个帧并停止,请删除事件侦听器并完成。
我们还需要把最后一个画面储存在某个地方,这样我们才能知道我们需要回去
mc1.addEventListener(Event.ENTER_FRAME, onEF);
var lastFrame:int = 0;
function onEF( e:Event ):void{
if(mc1.currentFrame == 1){
mc1.removeEventListener(Event.ENTER_FRAME, onEF);
mc1.gotoAndStop(lastFrame);
}
lastFrame = mc1.currentFrame;
}
仅当无法将事件分派添加到电影剪辑(或简单的stop()调用;)时,才使用第二个
希望能有帮助
干杯。谢谢!这是有道理的,我要试一试。真聪明。