2011-03-21 83 views
2

我在Flash CS5 actionscript 3.0中编写简单的电影时间线。我的所有按钮都可以工作,除了我想要编码的播放按钮“去下一帧并播放”。这是我目前的动作谁能帮我找到正确的代码?Flash CS5 ActionScript 3.0转到下一帧和播放代码

fastforwardBtn.addEventListener(MouseEvent.CLICK, fl_ClickToGoToAndStopAtFrame); 

function fl_ClickToGoToAndStopAtFrame(event:MouseEvent):void 
{ 
gotoAndStop(4025); 
} 

stop(); 

gotoStopBtn.addEventListener(MouseEvent.CLICK, fl_ClickToGoToAndStopAtFrame_2); 

function fl_ClickToGoToAndStopAtFrame_2(event:MouseEvent):void 
{ 
    gotoAndStop(1); 
} 


gotoPlayBtn.addEventListener(MouseEvent.CLICK, fl_ClickToGoToAndPlayFromFrame); 

function fl_ClickToGoToAndPlayFromFrame(event:MouseEvent):void 
{ 
    gotoAndPlay(1); 
} 

stopBtn.addEventListener(MouseEvent.CLICK, fl_ClickToGoToNextFrame_2); 

function fl_ClickToGoToNextFrame_2(event:MouseEvent):void 
{ 
    nextFrame(); 
} 

playBtn.on (release) ;{ 
_root.gotoAndPlay(_currentframe+1); 
} 

回答

3
playBtn.addEventListener(MouseEvent.CLICK, fl_Click_Play); 

function fl_Click_Play(event:MouseEvent):void 
{ 
    MovieClip(root).play(); 
} 

应该工作,如果你有一个简单的FLA。如果这似乎并没有工作,你可能需要像这样的目标的正确道路:

MovieClip(this.parent).play(); 

不知道你的FLA结构,它只是一个猜测;)

也= _root是AS2并且总是以_level0为目标。这在AS3中更改为“根”,并且将最上面的displayObjectContainer的时间线作为目标。

+0

这可以工作,但它只是每次按下按钮时逐帧移动。我想按一次,并持续播放直到结束。 – Stephanie 2011-03-21 20:07:57

+1

而不是nextFrame();使用play(); – SimplyZ 2011-03-21 21:53:00

+0

哈哈!玩()。是。出于某种奇怪的原因,我认为你只是试图推进电影1帧...... /叹气。好吧,看起来你有你想要的东西。您可能会考虑将所有这些函数组合到一个函数中,以测试按钮本身的唯一参数。你可以做一些简单的事情,例如为它们分配一个与标签匹配的名称参数,然后在事件的目标上执行switch语句。 (root.gotoAndPlay(e.target.name);) – Bosworth99 2011-03-21 22:30:05