如果我按相反的移动键,播放器停止

时间:2015-08-15 11:33:04

标签: actionscript-3

如果我同时按下W和S又上下。玩家停止移动。我不能这样做,以便最后按下哪个键可以朝这个方向前进,而不是一起停止它。因此,无论您同时按哪个键,播放器只会移动您最后按下的键。或者,如果玩家放下其中一个按钮,则仍然保持按钮的功能正常。这就是我想要的方式,但玩家会一起停下来。像大多数游戏一样,除非你放开所有按键,否则玩家不会停止移动。

我在keydown上键盘移动的代码:

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
        }

在我的enterframe中:

if (isRight == true)
        {
            x += 5;
        }
        if (isLeft == true )
        {
            x -= 5;
        }
        if (isUp == true)
        {
            y -= 5;
        }
        if (isDown == true)
        {
            y += 5;
        }

1 个答案:

答案 0 :(得分:0)

设置isUp=false时,您应设置isDown=true。反之亦然。现在你正在做的就是将事情设置为真,但是当一个人变为真时你应该将其他人设置为假。

此外,检查if(isDown)对于布尔属性来说是一个足够好的条件

希望这有帮助。