2015-08-15 21 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)是布爾屬性

希望這有助於足夠好的條件。

相關問題