2010-02-05 22 views
1

我最近一直在进入DirectX以及游戏编程。我已经开始充实我的计划基础,现在我正在考虑处理输入。我现在的方式是通过在我的主循环中调用一个函数,它使用GetDeviceState(简而言之)和它们各自的参数来查询鼠标和键盘;但是,在深入阅读DirectInput之后,我看到许多人说DirectInput不再被推荐使用。微软似乎也同意!在游戏中处理鼠标和键盘输入的不同选项

我正在寻找其他的方法去这样做,对有关它们的利弊讨论,沿(不是必须的,但欢迎。我可以研究)

回答

4

只需使用GetMessage或PeekMessage,例如should-i-use-directinput-or-windows-message-loop

+0

啊是的,我喜欢这样的外观。如果工作完美无缺,我马上就会开始使用,除非您使用操纵杆,否则编写这个 – Tanner 2010-02-05 22:58:04

0

对于键盘我通常使用GetAsyncKeyState();.它表示如果在执行此功能时按下了键。

但对于鼠标来说,最好的解决方案是使用DirectInput,我认为。因为Windows监视它的位置,你不必这样做。

0

这几天建议使用"Raw Input"

+0

糟糕的想法让我很开心。 这样你应该制作大量的个人代码,以照顾用户可能使用的每种可能的文化(相对配置他们的键盘输入)或配置(倒置的鼠标按钮配置,双击速度等)。 其他人说,把它留给windows消息通常是一个更好的主意。 – feal87 2010-02-05 17:24:46

+0

它仍然是微软推荐的游戏开发... – Goz 2010-02-05 19:50:39

+0

据我所知,原始输入建议设备不支持常见的Windows消息(触摸板,操纵杆,麦克风等)。 – feal87 2010-02-05 19:54:27

相关问题