Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 如何在Flash Professional CS6(AS3)中单击按钮播放下一个x帧或上一个x帧_Actionscript 3_Flash_Flash Cs5 - Fatal编程技术网

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

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

我必须设计一个简单的动画,应该播放下一个X帧点击前进按钮和前一个X帧(按相反顺序)点击后退按钮。 我在AS3方面有着丰富的经验,但在Flash Professional方面我似乎没有什么起色

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

谢谢你的帮助


干杯

您可以尝试使用一个计算播放帧数的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类。

如果需要,我当然可以提供更多信息,我尽量使其简洁,以免吓跑任何帮助者。:物流怎么样?我的意思是这代码去哪里了?在动作层:是否贯穿整个时间线?