Flash Actionscript 3 - 反向播放动画

时间:2013-06-01 05:12:37

标签: actionscript-3

我有两个动画片段。当.left悬停在动画上时.box播放从右向左移动但在.left没有悬停时停止。

我想在.right中发生同样的事情,但动画.box反向播放。我可以实现所有这一切,除非我不能让动画停止播放,当.right没有悬停时,它会一直持续到.box再次开始。

最终我想将这个概念转变为横向网站的滚动。提前谢谢。

这是我到目前为止的代码......

 import flash.events.MouseEvent;

left.addEventListener(MouseEvent.MOUSE_OVER,left_scroll_over);
left.addEventListener(MouseEvent.MOUSE_OUT,left_scroll_off);
right.addEventListener(MouseEvent.MOUSE_OVER,right_scroll_over);
right.addEventListener(MouseEvent.MOUSE_OUT,right_scroll_off);

//scrolling left
function left_scroll_over(e:MouseEvent):void
{    
    box.play();
    right.visible = true;
}
function left_scroll_off(e:MouseEvent):void
{
    box.stop();
    if (box.currentFrame == 59)
    {
        left.visible = false;
        right.visible = true;
    } 
}


 // scrolling right
function right_scroll_off(e:MouseEvent):void
{
    box.stop();
}
function right_scroll_over(e:MouseEvent):void
{
    this.addEventListener(Event.ENTER_FRAME, playReverse, false, 0, true);
}
function playReverse(e:Event):void
{
    if (box.currentFrame == 1)
    {
        stopPlayReverse();
        right.visible = false;
        left.visible = true;
    }
    else
    {
        box.prevFrame();
        left.visible = true;
    }
}
function stopPlayReverse():void
{
    if (this.hasEventListener(Event.ENTER_FRAME))
    {
        this.removeEventListener(Event.ENTER_FRAME, playReverse);
    }
}

1 个答案:

答案 0 :(得分:0)

如果这仍然相关:你如何开始扭转动画?可能没有box.play(),所以box.stop()也不会工作。

如果动画不太复杂,您可以考虑将其编写为补间。这样,您就可以将动画的方向定义为变量。