【问题标题】:Flash looping animation while pressed a key按键时闪烁循环动画
【发布时间】:2014-08-02 15:56:54
【问题描述】:

管道的第一个动画剪辑包含 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

【问题讨论】:

  • @lgogogo,如果你把你的 MovieClip 'flame' 放到你的场景中,这个能正常工作吗?
  • 它的循环是。但我需要将它与管道一起使用。
  • @lgogogo,如果这个 MovieClip 在现场工作,他就没有理由不在另一个 MovieClip 中工作。 Flame只由四帧组成(不是任何代码)?

标签: flash animation movieclip


【解决方案1】:

我找到了解决方案!其他论坛的人帮助了我:D! 您需要重置键盘轮询。

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;
}

【讨论】:

    猜你喜欢
    • 2021-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-13
    • 2011-12-02
    • 2012-03-12
    • 2011-03-30
    相关资源
    最近更新 更多