[問題] XNA 關於鍵盤按鍵偵測的疑惑
※ [本文轉錄自 C_Sharp 看板]
作者: QQ29 (我愛阿蓉) 看板: C_Sharp
標題: [問題] XNA 關於鍵盤按鍵偵測的疑惑
時間: Mon Apr 26 12:54:12 2010
XNA 關於鍵盤按鍵偵測
目前有些觀念想釐清一下~~
KeyboardState CurrentKeyBoardInput = Keyboard.GetState();
Keys[] keys = CurrentKeyBoardInput.GetPressedKeys();
如果只是單純GetPressedKeys 假如按下"A" 會有好幾個A在GetPressedKeys那個queue裡
面
我找一些sample code有一種作法是
用timespan去計算間隔 希望不要在timespan設定的時間內再次去 Keyboard.GetState();
這樣效果可以按著A不放 會有AAAAAAAAAAAAAAAA印出來
但在使用上感覺不是很順~
另一個作法是
我自己看XNA document的範例改成
Update裡
Keys[] keys = CurrentKeyBoardInput.GetPressedKeys();
if (OldKeyBoardInput != CurrentKeyBoardInput)
{
..............................................
}
OldKeyBoardInput = CurrentKeyBoardInput;
這樣竟然keys 就只會得到一個input
我不懂那個if到底怎麼判斷的.....
他會發生!= 的情形是因為 平常沒按 當有 KeyDown就發生!= 然後連續的press
都算是同一個state所以都是 ==
所以他只會抓第一個A?
=========================
第一種做法 我是覺得有時候會 漏掉key 有時不靈敏可能是因為我定死 interval
所以請教 第二種作法的話
可否改成模擬 A按著不放的情況呢?
另外我發現
key得到的都是大寫字母.....我該怎麼判斷使用者是輸入大寫還是小寫呢??
還有輸入數字 都會變成D1 D2 D3 多了個D@@
以上
謝謝各位
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.147.15.66
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.147.15.66
※ 編輯: QQ29 來自: 122.147.15.66 (04/26 13:10)
推
04/27 00:04, , 1F
04/27 00:04, 1F
→
04/27 01:01, , 2F
04/27 01:01, 2F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
GameDesign 近期熱門文章
PTT遊戲區 即時熱門文章
9
12