当两个键同时按下时,我的播放器停止移动。但动画仍在移动。例如,如果我同时上下左右按下或同时左右按下。as3 - 两个按键按下时如何停止动画?
On键按下事件侦听器:
if (event.keyCode == Keyboard.D)
{
isRight = true
}
if (event.keyCode == Keyboard.A)
{
isLeft = true
}
if (event.keyCode == Keyboard.W)
{
isUp = true
}
if (event.keyCode == Keyboard.S)
{
isDown = true
}
在关键了事件侦听器:
if (event.keyCode == Keyboard.D)
{
isRight = false
gotoAndStop(1);
}
if (event.keyCode == Keyboard.A)
{
isLeft = false
gotoAndStop(1);
}
if (event.keyCode == Keyboard.W)
{
isUp = false
gotoAndStop(1);
}
if (event.keyCode == Keyboard.S)
{
isDown = false
gotoAndStop(1);
}
在enterFrame事件:
if (isRight == true)
{
x += 5;
play();
}
if (isLeft == true)
{
x -= 5;
play();
}
if (isUp == true)
{
y -= 5;
play();
}
if (isDown == true)
{
y += 5;
play();
}
难道我们没有解决的东西昨天相似?在将Key down监听器设置为true之前,请将所有内容都设为false。看起来事情依然如此。 –
如果我这样做,那种混乱了我的运动。我决定保持这样。 – Crook
好的,在这种情况下,在你的钥匙键上放一些痕迹,看看所有的值都保持真实吗?如果你把所有东西都设为false,它是如何混淆你的代码的? –