有没有办法让Flash动画中的时间轴跳转?

时间:2016-03-04 18:41:29

标签: actionscript-3 flash adobe

基本上,是否有类似于gotoAndPlay的Actionscript 3.0代码,除非它不需要用户的任何操作?

1 个答案:

答案 0 :(得分:0)

您无需用户输入即可拨打gotoAndPlay。您可以从代码中的任何位置调用它,就像任何其他API一样,包括来自事件处理程序的时间轴关键帧。

  

例如,我希望能够播放1-10帧,然后跳转   到200-210,然后跳回到11-20。

您可以通过gotoAndPlay调用时间轴框架来完成此操作:

gotoAndPlay(1);

// frame 10
gotoAndPlay(200);

// frame 210
gotoAndPlay(11);

// frame 20
stop();

或者你可以通过使用enterFrame事件监控帧播放来实现,并在到达某些帧时调用gotoAndPlay

gotoAndPlay(1);

addEventListener(Event.ENTER_FRAME, enterFrame);

function enterFrame(e:Event):void {
    switch (currentFrame) {
        case 10:
            gotoAndPlay(200);
            break;
        case 210:
            gotoAndPlay(11);
            break;
        case 20:
            stop();
            removeEventListener(Event.ENTER_FRAME, enterFrame);
            break;
    }
}

第二个例子的优点是你可以把它变成一个像gotoAndPlaySequence([0, 10], [200, 210], [11, 20])一样的可重用函数。

我还强烈建议您在实际代码中使用帧标签,而不是帧编号。否则,这很难遵循。