【问题标题】:how to play next x frames or previous x frames with a click of a button in Flash Professional CS6(AS3)如何在 Flash Professional CS6(AS3) 中单击按钮播放下 x 帧或前 x 帧
【发布时间】:2012-05-28 11:42:59
【问题描述】:

我必须设计一个简单的动画,它应该通过单击前进按钮播放下 X 帧,并通过单击后退按钮播放前 X 帧(以相反的顺序)。 我在 AS3 方面有丰富的经验,但我似乎不知道从哪里开始使用 Flash Professional。

我已经设法在屏幕上获得了一个按钮和一些动画,当单击按钮时我得到了正确的跟踪但我没有得到任何进一步...

感谢您的帮助

干杯

【问题讨论】:

  • 如有必要,我当然可以提供更多信息,我尽量保持简洁,以免吓跑任何帮助者..:P

标签: actionscript-3 flash flash-cs5


【解决方案1】:

您可以尝试使用一个ticker 变量来计算要播放的帧数。只需在单击按钮时设置此变量。然后使用 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 中将其设置为文档类。

【讨论】:

  • 物流怎么样?我的意思是这段代码去哪里了?在动作层:是否贯穿整个时间线?
猜你喜欢
  • 2013-08-07
  • 2023-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-20
  • 1970-01-01
  • 2012-03-10
  • 1970-01-01
相关资源
最近更新 更多