2015-08-15 30 views
0

如果我同时按下W和S上下,也可以。玩家停止移动。我无法做到这一点,因此最后按哪个键可以朝这个方向走,而不是一起停下来。因此,无论您同时按哪个键,播放器都会按您最后按的键移动。或者,如果玩家放开其中一个按钮,仍然保持的按钮功能正在朝着这个方向发展。这就是我想要的,但是玩家会一起阻止。像大多数游戏一样,游戏者不会停止移动,除非你放开所有的键。as3如果我按下相反的移动键,播放器停止

我的键盘移动代码上的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; 
     } 

回答

0

你应该设置isDown=true时设置isUp=false。反之亦然。现在你所做的一切都是把事情设定为真实的,但是当一个变为真时,你应该把其他事情设置为假。

此外,检查if(isDown)是布尔属性

希望这有助于足够好的条件。

相关问题