按下一个键时Flash循环动画

时间:2014-08-02 15:56:55

标签: flash animation movieclip

管道的第一个动画片段包含3帧“普通”,“右”和“左”以及不同图层上的火焰动画片段。 当我向右或向左按时,应该有火焰动画,这是一个内部有4帧的动画片段。问题是我得到一个一次动画,然后火焰的动画停止了。我希望火焰动画片段在按下我的按键时继续动画,就像火正在燃烧一样。

var speedHoriz:Number = 0;
function animPig(evt:Event):void{
    pipe.x += speedHoriz;
}
pipe.addEventListener(Event.ENTER_FRAME, animPig);

function keyDownHandler (evt:KeyboardEvent):void {
    if(evt.keyCode==37) {
        speedHoriz -= .1;       
        pipe.gotoAndStop("left");
    } else if(evt.keyCode==39) {
        speedHoriz += .1;
        pipe.gotoAndStop("right");
    }
}
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);

function keyUpHandler (evt:KeyboardEvent):void {
    pipe.gotoAndStop("normal");
}
stage.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler);

SWF

1 个答案:

答案 0 :(得分:0)

我找到了解决方案!来自其他论坛的那个人帮帮我:DO! 您需要重置键盘轮询。

function keyDownHandler (evt:KeyboardEvent):void {
if(evt.keyCode==37) {
    speedHoriz -= .1;       
    keyCode==evt.keyCode?null:pipe.gotoAndStop("left");

} else if(evt.keyCode==39) {
    speedHoriz += .1;
    keyCode==evt.keyCode?null:pipe.gotoAndStop("right");
}
keyCode=evt.keyCode;
}