默认XNA输入不提供可能在帧处理期间(在更新调用之间,当按下按键时立即调用某种方法)的事件处理程序。XNA游戏更好的键盘输入
我试过使用Nuclex.Input,但它有一些缺陷 - 像F10,Alt和Pause这样的键不会触发指定的事件。其中一些键出现在GetKeyboard().GetState().GetPressedKeys()
列表中,但其中一些键不存在,这对于制作快捷键而言是不可接受的。
如果有办法让XNA的默认输入管理器能够处理事件,我会很高兴,但我还没有看到有人说这是可能的。所以我可能正在寻找一些其他的输入管理器,可以给我任何按键,可以按压/释放事件处理程序。
或者,也许有一些方法可以避免使用第三方库通过使用Windows的钩子,如任何按键/释放发射处理程序事件?
或者这个整个XNA输入方式被破坏了,而更高等级的游戏引擎使用了完全不同的方法?
我看到everybody在过去的几年里一直在使用XInput。
对不起,如果我的问题误导你认为我需要一种方法来查找当前和以前的键盘状态之间的差异。我正在寻找的是一种即时在各个帧之间即时对每个按键/按键进行反应的方式。 – user1306322 2013-02-23 21:09:40
为什么你不能在更新?这对我来说非常合适。 – 2013-02-23 21:10:41
做什么?我需要一个事件处理程序。 – user1306322 2013-02-23 21:11:29