箭头动画演示文稿导航 - AS3

时间:2013-11-13 17:10:33

标签: actionscript-3 navigation presentation

我是AS3的新手,虽然我很长时间都在寻找解决问题的方法,但我没有成功。我有一个动画演示文稿,我只想通过箭头导航。一切都在主时间轴上。在第一帧中我制作了这段代码

var zpet: Number;
if (currentFrame == 1) {
    zpet = 1;
}
stage.addEventListener(KeyboardEvent.KEY_DOWN, posun);

function posun(event: KeyboardEvent): void {
    if (event.keyCode == 37) {
        addEventListener(Event.ENTER_FRAME, playReverse);

        function playReverse(event: Event): void {
            if (currentFrame == zpet) {
                stopPlayReverse();
            } else {
                prevFrame();
            }
        }

        function stopPlayReverse(): void {
            if (hasEventListener(Event.ENTER_FRAME)) {
                removeEventListener(Event.ENTER_FRAME, playReverse);
            }
        }
    } else if (event.keyCode == 39) {
        if (currentFrame < totalFrames - 1) {
            play();
        } else {
            stop();
        }
    }
}
stop();

当我将stop();放在演示文稿的每个关键帧中时,前进工作非常完美。问题是如何回到前一个关键帧(我还想回到反向播放)。我认为如果我创建一个变量(称为“zpet”)并将其设置为每个关键帧中返回的特定帧数,这将非常容易。但它不起作用,它一直回到第1帧。例如,我在框架26中放置了代码zpet = 13;,当从框架26回放时应该说停在第13帧。任何想法怎么解决这个?我真的很感激......

1 个答案:

答案 0 :(得分:0)

您可以直接从时间轴标记动画的每个关键帧,然后是这样的:

function playReverse(event: Event): void
{
    prevFrame();// You can also use gotoAndStop(currentFrame - 1)
    if(currentFrameLabel != null)
        stopPlayReverse();
}

看起来更干净,你可以在以后制作场景选择菜单时使用标签值。