如何在Flash Professional CS6(AS3)中单击按钮播放下一个x帧或前一个x帧

时间:2012-05-22 00:23:37

标签: actionscript-3 flash flash-cs5

我必须设计一个简单的动画,只需点击前进按钮和前一个X帧(按相反的顺序),然​​后点击后退按钮即可播放下一个X帧。 我在AS3方面有丰富的经验,但我似乎无法从Flash Professional开始。

我已经设法在屏幕上显示一个按钮和一些动画,当点击按钮时我得到了正确的痕迹,但我没有得到任何进一步......

感谢您的帮助

欢呼声

1 个答案:

答案 0 :(得分:2)

您可以尝试使用自动收录器变量来计算要播放的帧数。只需在按钮点击上设置此var即可。然后使用enterframe处理程序每​​帧转到正确的帧。例如:

var maxFramesToPlay:int = 20;
var framesToPlay:int = 0;

addEventListener(Event.ENTER_FRAME, enterFrameHandler);
forwardButton.addEventListener(MouseEvent.CLICK, forwardClickHandler);
backButton.addEventListener(MouseEvent.CLICK, backClickHandler);

private function forwardClickHandler(e:MouseEvent):void 
{
    framesToPlay = maxFramesToPlay;
}

private function backClickHandler(e:MouseEvent):void 
{
    framesToPlay = -maxFramesToPlay;
}

private function enterFrameHandler(e:Event):void 
{
    if (framesToPlay > 0) 
    {
        MovieClip(this).nextFrame();
        framesToPlay--;
    }
    else if (framesToPlay < 0) 
    {
        MovieClip(this).prevFrame();
        framesToPlay++;
    }
    else 
    {
        // framesToPlay is zero, so don't do anything.
    }
}

您可以将此功能放入扩展MovieClip的类中,然后在Flash中将其设置为文档类。