从影片剪辑(检查主时间轴播放)在AS3
问题描述:
我有这个功能,但是...... 我想 如果主时间打得那么它去帧并播放 和 如果主要时间是(不是播放),所以它进入帧并暂停从影片剪辑(检查主时间轴播放)在AS3
这个函数在主时间自定义滑块控件。
谢谢;
sliderLine_mc.addEventListener(MouseEvent.CLICK,snapTO);
function snapTO(event:MouseEvent)
{
if (sliderTrack.mouseX > 0 && sliderTrack.mouseX < 320)
{
sliderKnob.x = mouseX;
sliderKnob.x = MovieClip(root).currentFrame * (300/MovieClip(root).totalFrames);
if (MovieClip(root).isPlaying == true)
{
MovieClip(root).gotoAndPlay(Math.floor(mouseX/(300/MovieClip(root).totalFrames))-60);
}
else if (MovieClip(root).isPlaying == false)
{
MovieClip(root).gotoAndStop(Math.floor(mouseX/(300/MovieClip(root).totalFrames))-60);
}
}
}
答
您可以创建一个观察者的影片剪辑,将你想要做什么:
public class WatcherMC extends MovieClip
{
private var last_enter_frame:int= 0;
private var root_animation_steps:int= 0;
private var root_stoped_steps:int= 0;
public RootIsPlaying:boolean= false;
public function WatcherMC():void
{
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
private function onEnterFrame(event:Event):void
{
if (MovieClip(root).currentFrame!= last_enter_frame)
{
root_animation_steps++;
if (root_animation_steps> 3)
{
root_stoped_steps= 0;
root_is_playing();
}
}
else
{
root_stoped_steps++;
if (root_stoped_steps> 3)
{
root_animation_steps= 0;
root_is_still_not_playing();
}
}
last_enter_frame= MovieClip(root).currentFrame;
}
private function root_is_playing():void
{
// root is playing, do what ever I want
RootIsPlaying= true;
}
private function root_is_still_not_playing():void
{
// root is not playing, do what ever I want
RootIsPlaying= false;
}
}
把你的代码中的函数root_is_playing
和root_is_still_not_playing
就可以检查WatcherMC_instance.RootIsPlaying或者如果你实例化一个WatcherMC电影剪辑的实例..
是这样的:
var WatcherMC_instance:WatcherMC= new WatcherMC();
// use WatcherMC_instance.RootIsPlaying ..
我希望这会有所帮助!
我已添加编辑,您可以在下面看到.. – simo 2013-03-19 09:17:13
对不起,我是初学者,我没有理解你,对不起...我需要一个简单的想法,如果主要时间线工作去框架和工作,如果主要时间线不工作去和停止....简单的想法为微笑滑块....再次感谢 – 2013-03-19 09:57:10
没问题:-)可能是你需要一个教程.. – simo 2013-03-19 10:45:45