XNA Keyboard.GetState()不返回所有按下的键

瑞安·坦克斯利(Ryan Tankersley)

我正在学习XNA(v。4.0),并且正在使用键盘上的箭头键移动精灵,并在保持空格的同时使字符冲刺。

下面是我的代码,用于确定按下了哪些键:

currentKBState = Keyboard.GetState();

bool right = currentKBState.IsKeyDown(Keys.Right);
bool left = currentKBState.IsKeyDown(Keys.Left);
bool up = currentKBState.IsKeyDown(Keys.Up);
bool down = currentKBState.IsKeyDown(Keys.Down);
bool space = currentKBState.IsKeyDown(Keys.Space);

System.Diagnostics.Debug.WriteLine(String.Format("{0} {1} {2} {3} {4}", right, left, up, down, space));

问题是我无法同时按下所有5个按钮。有时只有两个会注册。例如,如果我按住“上”,“下”和“左”,则无论我按住三个键多长时间,它仅表示“上”和“下”是正确的。无论按什么组合,我都希望能够处理。为什么不注册所有被按下的按钮?我需要采取其他方法吗?

洛基

那不是代码问题。这是键盘硬件的限制。

廉价的键盘能够可靠地检测到两个并发的按键,但是在三个键的某些组合下可能已经失败。

请参阅过渡(密钥)

现代键盘会检测重影,而不是注册第四个键,而是会忽略第三个键,这就是所谓的干扰。不同品牌和型号的键盘在按下时会卡住哪些键。由于大多数用户使用的键盘矩阵,当按下矩阵方格中的四个键中的三个键(例如QASW或JKUI)时,经常会发生卡纸和重影。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

XNA Keyboard.GetState()不读取数字/字符键,但读取其他键

来自分类Dev

XNA Keyboard.GetState()不读取数字/字符键,但读取其他键

来自分类Dev

检查按下C#XNA后是否释放键

来自分类Dev

屏幕XNA上我的Sprite不绘图

来自分类Dev

XNA Monogame有效抽奖原语

来自分类Dev

有关XNA UnloadContent的示例

来自分类Dev

XNA Sprite似乎没有更新?

来自分类Dev

绘制具有多种纹理的效果XNA

来自分类Dev

XNA GraphicsPath.AddLines似乎有差距

来自分类Dev

XNA Rectangle.Center不返回期望值

来自分类Dev

显示立方体的所有侧面-XNA

来自分类Dev

XNA BasicEffect,在具有纹理的地形上产生奇怪的结果

来自分类Dev

SharpDX中有与XNA Math等效的功能吗?

来自分类Dev

XNA音效

来自分类Dev

替代XNA

来自分类Dev

XNA内容生成输出直到所有内容都生成后才会刷新

来自分类Dev

使用C#XNA 4.0中的Escape键切换全屏

来自分类Dev

仅使用XNA dll运行XNA游戏?

来自分类Dev

错误:Microsoft.Xna.Framework.Input.KeyState'不包含“ GetPressedKeys”的定义

来自分类Dev

如何在带有XNA的Visual Studio 2010中正确引用内容?

来自分类Dev

在Visual Studio 2012 Express(带有XNA 4.0)中使用MonoGame找不到SpriteFont模板

来自分类Dev

XNA 4.0 VS2012中没有Windows游戏选项

来自分类Dev

具有变量更新的惯性的Xna 4模型旋转无法正常工作

来自分类Dev

没有图块XNA的2D游戏中的碰撞检测

来自分类Dev

XNA:我只有1种支持的显示模式(800x600)

来自分类Dev

找不到带有dll复制本地的Microsoft.XNA.Framework.dll

来自分类Dev

没有图块XNA的2D游戏中的碰撞检测

来自分类Dev

对于Monogame或XNA,在主要功能之外有一种生成模式

来自分类Dev

Visual Studio中的XNA项目的属性中没有“设置”选项卡

Related 相关文章

  1. 1

    XNA Keyboard.GetState()不读取数字/字符键,但读取其他键

  2. 2

    XNA Keyboard.GetState()不读取数字/字符键,但读取其他键

  3. 3

    检查按下C#XNA后是否释放键

  4. 4

    屏幕XNA上我的Sprite不绘图

  5. 5

    XNA Monogame有效抽奖原语

  6. 6

    有关XNA UnloadContent的示例

  7. 7

    XNA Sprite似乎没有更新?

  8. 8

    绘制具有多种纹理的效果XNA

  9. 9

    XNA GraphicsPath.AddLines似乎有差距

  10. 10

    XNA Rectangle.Center不返回期望值

  11. 11

    显示立方体的所有侧面-XNA

  12. 12

    XNA BasicEffect,在具有纹理的地形上产生奇怪的结果

  13. 13

    SharpDX中有与XNA Math等效的功能吗?

  14. 14

    XNA音效

  15. 15

    替代XNA

  16. 16

    XNA内容生成输出直到所有内容都生成后才会刷新

  17. 17

    使用C#XNA 4.0中的Escape键切换全屏

  18. 18

    仅使用XNA dll运行XNA游戏?

  19. 19

    错误:Microsoft.Xna.Framework.Input.KeyState'不包含“ GetPressedKeys”的定义

  20. 20

    如何在带有XNA的Visual Studio 2010中正确引用内容?

  21. 21

    在Visual Studio 2012 Express(带有XNA 4.0)中使用MonoGame找不到SpriteFont模板

  22. 22

    XNA 4.0 VS2012中没有Windows游戏选项

  23. 23

    具有变量更新的惯性的Xna 4模型旋转无法正常工作

  24. 24

    没有图块XNA的2D游戏中的碰撞检测

  25. 25

    XNA:我只有1种支持的显示模式(800x600)

  26. 26

    找不到带有dll复制本地的Microsoft.XNA.Framework.dll

  27. 27

    没有图块XNA的2D游戏中的碰撞检测

  28. 28

    对于Monogame或XNA,在主要功能之外有一种生成模式

  29. 29

    Visual Studio中的XNA项目的属性中没有“设置”选项卡

热门标签

归档