我创建了一个名为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 个分别名为:和的影片剪辑。当我按下向上箭头键时,它会跳跃,但如果我立即松开键,它不会跳得很高,因为跳跃动画剪辑无法完成它的帧。这是代码:standing
running
jumping
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");
我该如何解决?