我遇到了Keyboard.GetState()和.IsKeysDown()的問題。他們根本行不通。XNA和Keyboard.GetState()或任何其他鍵盤問題有問題嗎?
1
A
回答
1
如果您有Synergy,那麼它可能是其中一個問題。
我相信它會清除鍵盤輸入緩存或其他事情,所以當您再次輪詢硬件時,Windows沒有任何鍵盤敲擊來識別。
因此,在XNA中進行調試時,請禁用Synergy。
1
這聽起來像你可能遇到一些問題。由於其他新開發人員在尋找鍵盤輸入幫助時可能會發現此問題,因此我會盡力涵蓋兩者。
1)Keyboard.GetState()返回當前按住哪些鍵的快照。 KeyboardState.IsKeyDown()不識別擊鍵。它只是告訴你哪些鍵正在被按下。由於它的工作方式,最好在您嘗試使用之前存儲鍵盤狀態。
2)在你的更新循環,你會想要保存當前的鍵盤狀態:
KeyboardState newKeyboardState = Keyboard.GetState();
現在可以檢查是否發生了按鍵。按了一個鍵意味着,一個關鍵的使用將下降,現在到了:
if(previousKeyboardState.IsKeyDown(Keys.A && !newKeyboardState.IsKeyDown(Keys.A)) {
Console.Out.WriteLine("Keystroke: A");
}
最後,保存當前狀態,以便以後可以對證:
previousKeyboardState = newKeyboardState;
相關問題
- 1. 有鍵盤shift鍵問題
- 2. WebView和軟鍵盤問題
- 3. EditText鍵盤問題
- 4. 鍵盤 - uinavigationcontroller - 問題
- 5. UITextField鍵盤問題
- 6. Android鍵盤問題
- 7. Android鍵盤問題
- 8. 軟鍵盤問題
- 9. Tablayout鍵盤問題
- 10. TextFiled鍵盤問題
- 11. Android鍵盤問題
- 12. MFMailComposeViewController鍵盤問題
- 13. Telnet,Emulator ...和其他問題
- 14. iOS - Phonegap或WebApp鍵盤問題
- 15. XNA Antialias問題!
- 16. ClickOnce&XNA問題
- 17. XNA和FBX着色問題
- 18. cond.signal或lock.release有問題嗎?
- 19. Pascal問題與其他問題如果
- 20. Android屏幕鍵盤沒有任何其他鍵盤
- 21. 解僱鍵盤FirstResponder問題
- 22. Jqgrid鍵盤導航問題
- 23. 目標C,鍵盤問題
- 24. 鍵盤問題 - 背按
- 25. 鍵盤鉤子問題
- 26. Jquery:鍵盤導航問題
- 27. ios 7鍵盤問題
- 28. Android Webview鍵盤問題
- 29. 隱藏軟鍵盤問題
- 30. Android鍵盤popupCharacters問題
您可能要問這個請訪問http://gamedev.stackexchange.com/獲取更多幫助。 – Inisheer 2012-07-31 20:18:11
我其實自己回答了這個問題,以便其他人可以看到Synergy是問題所在。 – 2012-07-31 20:18:46