我遇到了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. MFMailComposeViewController鍵盤問題
- 4. Android鍵盤問題
- 5. UITextField鍵盤問題
- 6. 軟鍵盤問題
- 7. Telnet,Emulator ...和其他問題
- 8. XNA Antialias問題!
- 9. ClickOnce&XNA問題
- 10. XNA和FBX着色問題
- 11. Pascal問題與其他問題如果
- 12. cond.signal或lock.release有問題嗎?
- 13. Jquery:鍵盤導航問題
- 14. 鍵盤掛鉤問題
- 15. Flash Builder 4.5.1鍵盤問題
- 16. CodenameOne鍵盤滾動問題
- 17. 解僱鍵盤FirstResponder問題
- 18. Android中的鍵盤問題
- 19. 鍵盤鉤子問題
- 20. 鍵盤鉤子問題
- 21. Solaris 10鍵盤問題
- 22. 虛擬鍵盤問題
- 23. 鍵盤問題:Typematrix 2030
- 24. 目標C,鍵盤問題
- 25. BufferedInputStream.read(byte [])導致問題。任何人有過這個問題嗎?
- 26. 使用GridView和軟鍵盤的問題
- 27. iPhone中的UIScrollView和鍵盤問題
- 28. 問題的UIActionSheet和iPad鍵盤
- 29. 有條件地解除鍵盤問題
- 30. swfupload與認證有任何問題嗎?
您可能要問這個請訪問http://gamedev.stackexchange.com/獲取更多幫助。 – Inisheer 2012-07-31 20:18:11
我其實自己回答了這個問題,以便其他人可以看到Synergy是問題所在。 – 2012-07-31 20:18:46