The*_*Saw 5 c c++ directx winapi directinput
整个程序太复杂,无法在此处显示.基本上,只需注意我最近的git提交中的绿色亮点.我对DirectInput很新,所以我希望我犯了几个错误.我已经非常仔细地研究了MSDN文档,所以我保证我不会把它扔到那里并在它上面加上FIX IT FOR ME.:)
基本上,我认为我已经将我的问题缩小到了围绕Engine :: getEvent(第238行)的代码区域.我不明白这些功能是如何工作的,而且我已经弄乱了某些部分来实现不同的结果.我的目标是直接读取键盘事件并将这些原始数字输出到屏幕上(稍后我将处理数字的含义).这里的问题与KEYBOARD_BUFFER_SIZE有关.如果我把它变小,程序似乎运行正常,但它不输出任何事件.如果我把它变大,它运行得更好,但它开始变慢然后冻结(OpenGL窗口只有一个旋转的彩色立方体).如何正确捕获键盘事件?
我检查了代码中更高的所有设置步骤的返回值.他们都返回DI_OK就好了.
您的代码似乎没问题(根据我过去使用过的本教程)。使用多个基于堆栈的数组是有问题的,但不应该是太大的问题(除非您开始运行大量并发 getEvent 调用)。
但是,最好的选择是停止使用 DirectInput并开始使用Windows Raw Input。最好尽早(即现在)进行此切换,而不是稍后意识到您确实需要使用 DI 以外的其他东西来获得您想要的结果。
| 归档时间: |
|
| 查看次数: |
235 次 |
| 最近记录: |