Actionscript 3 如何在Flash Professional CS6(AS3)中单击按钮播放下一个x帧或上一个x帧
我必须设计一个简单的动画,应该播放下一个X帧点击前进按钮和前一个X帧(按相反顺序)点击后退按钮。 我在AS3方面有着丰富的经验,但在Flash Professional方面我似乎没有什么起色 我已经设法在屏幕上得到了一个按钮和一些动画,我得到了正确的跟踪按钮被点击,但我没有得到任何进一步 谢谢你的帮助Actionscript 3 如何在Flash Professional CS6(AS3)中单击按钮播放下一个x帧或上一个x帧,actionscript-3,flash,flash-cs5,Actionscript 3,Flash,Flash Cs5,我必须设计一个简单的动画,应该播放下一个X帧点击前进按钮和前一个X帧(按相反顺序)点击后退按钮。 我在AS3方面有着丰富的经验,但在Flash Professional方面我似乎没有什么起色 我已经设法在屏幕上得到了一个按钮和一些动画,我得到了正确的跟踪按钮被点击,但我没有得到任何进一步 谢谢你的帮助 干杯您可以尝试使用一个计算播放帧数的ticker变量。只需在点击按钮时设置此变量。然后使用enterframe处理程序在每一帧转到正确的帧。例如: var maxFramesToPlay:int
干杯您可以尝试使用一个计算播放帧数的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.
}
}
var maxFramesToPlay:int=20;
var framesToPlay:int=0;
addEventListener(Event.ENTER_FRAME,enterFrameHandler);
forwardButton.addEventListener(MouseEvent.CLICK,forwardClickHandler);
addEventListener(MouseEvent.CLICK,backClickHandler);
私有函数forwardClickHandler(e:MouseeEvent):无效
{
framesToPlay=maxFramesToPlay;
}
私有函数backClickHandler(e:MouseEvent):void
{
framesToPlay=-maxFramesToPlay;
}
私有函数enterFrameHandler(e:事件):void
{
如果(帧停止播放>0)
{
MovieClip(this.nextFrame();
帧停止播放--;
}
否则如果(帧停止播放<0)
{
MovieClip(this.prevFrame();
framesToPlay++;
}
其他的
{
//framesToPlay为零,所以不要做任何事情。
}
}
您可以将此功能放入一个扩展MovieClip的类中,然后在Flash中将其设置为Document类。如果需要,我当然可以提供更多信息,我尽量使其简洁,以免吓跑任何帮助者。:物流怎么样?我的意思是这代码去哪里了?在动作层:是否贯穿整个时间线?