2017年6月5日 星期一

[Unity 範例] WASD操作- 避免同時輸入的異常狀態


本範例是為了解決鍵盤使用者,在【同時輸入複數按鍵】時發生異常狀態而製作的。因為依照一般最基礎的鍵盤輸入控制的教學 (例如這篇有正妹照片的教學) ,都是在未考慮【使用者同時按著某個按鍵】時的狀況。所以在時作階段你很可能會遇到跟我一樣的情形:

  • 只壓住按鍵A = 播放面朝左動畫
  • 只壓住按鍵D = 播放面朝右動畫
  • 壓住按鍵A不放, 再按下按鍵D = 左右動畫閃爍播放 
為了解決上述問題,本範例提供的解決方案是【只會使用最後輸入的按鍵】。也就是上述情況下,先按A再按D鍵時,只會處理D鍵按下後的程序。


==========================================
再提供一個狀況:

  • 壓住按鍵A = 播放面朝左動畫
  • 接著按住鍵W = 播放面朝上動畫
  • 接著按住鍵D = 播放面朝右動畫
  • 放開按鍵D,此時應該撥放[A鍵動畫][還是W鍵動畫]呢?
由於本範例的程式碼裡面,有將使用者鍵盤輸入的順序記載在一個list中,所以上述狀況發生時,會因為第二個輸入的按鍵是W,而撥放[W鍵動畫]。

沒有留言:

張貼留言