作者teexit (獃獃)
看板GameDesign
标题Re: [问题] XNA 关於键盘按键侦测的疑惑
时间Mon Apr 26 13:38:42 2010
※ 引述《QQ29 (我爱阿蓉)》之铭言:
: 以上
: 谢谢各位
我不确定我现在说的能不能回答到你的问题。
我如果没有看错的话,你应该是问说怎麽处理键盘只按下A键
然後不会连发!?
你直接准备两个KeyBoardState oldKeyboard, currentKeyboard;
然後在update那边
oldKeyboard = currentKeyboard;
currentKeyboard = KeyBoard.GetState();
然後就可以避免掉那个情况了...
然後D代表的是数字的那个英文开头。
我觉得你去抓取keys有时候没这麽好用...
我基本上都是直接用iskeypress。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.210.74
1F:推 wupojung:推~~ 去图书馆借一本 XNA的书都有类似的sample ... 04/27 14:24
2F:→ wupojung:网路上 google 也有喔 ^^ 04/27 14:25
3F:推 QQ29:可是我现在卡在 该怎麽判别大小写 和数字= = 04/27 18:58
4F:→ teexit:数字就D1 = 1 D2 =2我想上面就说了 至於大小写 04/28 14:32
5F:→ teexit:你可以检查看看CapsLock是否被压下,如果是接下来就是大写 04/28 14:32
6F:→ teexit:同理,按下SHIFT打字也是大写 最值观的做法就是这样做 04/28 14:33
7F:推 QQ29:不管有没有按 他都是显是大写耶 04/28 15:11
8F:→ QQ29:我是直接拿他的key型态来秀 可是也找不到什麽转换的方法 04/28 15:12
9F:→ teexit:他预设就是指写大写阿... 你要怎麽判断就是看你怎麽处理 04/28 18:34
10F:推 QQ29:所以其实全部的input都还要自己parse喔...好麻烦的样子 04/28 23:22
11F:→ teexit:我并不认为会很麻烦阿...也许有别的做法 目前我只到是这样 04/29 12:51
12F:→ help0430:QQ29整个搞错了吧~Keys是enum,表示哪个键被按下 04/30 10:38
13F:→ help0430:不是你按下去得到的文字 04/30 10:39
14F:→ help0430:在Update里面呼叫GetKeyState取得当下键盘状态 04/30 10:40
15F:→ help0430:Update预设每秒呼叫60次,你就每秒侦测到60次按下阿 04/30 10:41