默认 XNA 输入不提供可能在帧处理期间调用某些方法的事件处理程序(在更新调用之间,按下键时立即调用)。
我尝试使用 Nuclex.Input,但它有一些缺陷——F10、Alt 和 Pause 等键不会触发分配的事件。其中一些键出现在GetKeyboard().GetState().GetPressedKeys()
列表中,但其中一些没有出现,这对于制作快捷方式是不可接受的。
如果有办法让 XNA 的默认输入管理器处理事件,我会很高兴,但我还没有看到有人说这是可能的。所以我可能正在寻找其他一些输入管理器,它可以给我任何按键按下/释放事件处理程序。
或者,也许有一些方法可以通过使用 Windows 挂钩来避免使用第三方库,例如为任何按键按下/释放触发处理程序事件?
还是整个 XNA 输入方式都被破坏了,而更高级别的游戏引擎使用了完全不同的方法?
我看到过去几年每个人都在使用 XInput。