如何在按键时让棍子男人跑?

时间:2013-10-31 02:08:32

标签: actionscript-3 flash

我创建了一个名为stickman的movieclip。在那里,我通过在每个帧中绘制一系列移动来创建动画,以便火柴人可以运行。现在我想要的是,当我按下一个键时,棍子人将从左向右奔跑,当我松开钥匙时,它将停止。这是我的代码:

RunningMan.stop();

stage.addEventListener(KeyboardEvent.KEY_DOWN,keypresseddown);
function keypresseddown(event:KeyboardEvent):void
{

var key:uint = event.keyCode;
switch (key) {
   case Keyboard.LEFT :
   {
       RunningMan.play();
       RunningMan.x-=10;
       RunningMan.scaleX=-1;
       if(RunningMan.x<=0)
       {
           RunningMan.x=0;
       }
   };
    case Keyboard.RIGHT :
    {
        RunningMan.play();  //play animated run 
        RunningMan.x+=10;
        RunningMan.scaleX=1;
        if(RunningMan.x>=stage.width)
        {
            RunningMan.x=stage.width;
        }
    };
    default: RunningMan.stop();
   }
}

然而,当我按下并按住某个键时,它从左向右移动而没有动画运行。

我该如何解决? 提前谢谢。

修改 我有一个名为character的动画片段,其中包含3个名为standingrunningjumping的动画片段。当我按下箭头键时,它会跳跃,但是如果我立即释放了键,它就不会跳得很高,因为跳跃的动画片段无法完成它的帧。这是代码:

      if (key.isDown(Keyboard.LEFT))
            {

                gotoAndStop("running");
                BGround.x+=speed;
                scaleX=-1;
                if(BGround.x>=stage.stageWidth)
                    BGround.x=stage.stageWidth;
            }
            else if (key.isDown(Keyboard.RIGHT))
            {

                gotoAndStop("running");
                BGround.x -= speed;
                scaleX=1;

            }
            else
            if (key.isDown(Keyboard.UP))
            {
                gotoAndStop("jumping");

            }
            else
            gotoAndStop("standing");

我该如何解决?

0 个答案:

没有答案