在游戏等程序中处理键盘输入的首选方式是什么? directX输入是最简单的选择吗?还有什么其他的选择?DirectX输入是游戏中键盘处理的正确选择吗?
2
A
回答
2
0
它主要取决于您打算用于游戏的框架/操作系统。
选项太多,无法全部列表在这里,但包括:
- XNA(WINDOWS +的Xbox 360)
- 的DirectX(Windows)中
- 闪存(跨平台)
- 的Silverlight(应该是跨平台的)
各种综合游戏引擎:
- 扭矩
- 黑暗GDK
- ...
跨平台库
- 快板
- LWJGL
- ...
坦率地说,处理输入将是你最大的问题,这是非常不可能的,所以选择一个适合你的需求的解决方案(特别是在能力/复杂性方面),并选择处理输入的方式。
-1
DirectInput没有问题。运行良好,并通过...呃...“友好”界面直接访问硬件:如果您想在游戏中获得真正的响应,则轮询硬件是唯一可行的方法。
依靠Windows消息泵和处理Windows消息是,imho,EPIC失败。
0
通常,您可以选择最适合您的窗口系统的输入处理方法。如果您使用的是GLUT/SDL/SFML或任何其他窗口工具包,您将从中获得您的输入。否则,如果你正在自己制作游戏,那么在使用操作系统输入消息或DirectInput之间,两者都适合游戏。
如果您正在考虑鼠标输入,请不要使用DirectInput,除非您打算应用非常特定的鼠标弹道学。DirectInput鼠标移动没有应用鼠标的Ballisitics(通过鼠标控制面板设置),对于大多数用户来说会感觉很尴尬。
1
所有的DirectInput都在为键盘输入做的事情是创建一个线程并观察WM_ *消息并添加额外线程的开销。即使微软说你应该只是WM_ *消息。我看到一些EPIC失败,但不在窗口消息队列的一部分。
相关问题
- 1. 如何将键盘输入发送到OpenGL/DirectX游戏窗口?
- 2. 在游戏中处理鼠标和键盘输入的不同选项
- 3. 在游戏中的Android上正确的触摸输入处理
- 4. XNA游戏更好的键盘输入
- 5. Java游戏的键盘输入
- 6. DirectX:游戏循环顺序,先绘制然后处理输入?
- 7. 数字键盘输入游戏错误
- 8. 游戏中的Unicode输入处理
- 9. 这款游戏,XNA或SlimDX(DirectX 10)的理想选择?
- 10. Android游戏开发:输入处理
- 11. 如何在格斗游戏开发中处理键盘事件?
- 12. 是Quartz 2D的iPad游戏的正确选择
- 13. 有效的键盘输入处理
- 14. 的Java:处理合并键盘输入
- 15. 为游戏选择好的,无冲突的键盘绑定
- 16. 为什么IST它调用游戏键盘游戏键盘的析构函数在行,如果(玩家[P] .setcoin(游戏键盘,输入))
- 17. Unity3D游戏版本中没有键盘输入
- 18. 在网络游戏中通过UDP发送键盘输入
- 19. 提示用户输入正确的输入 - tic tac toe游戏
- 20. MATLAB的键盘输入没有更新“庞”游戏
- 21. ReactJS:处理空间导航(键盘和游戏手柄)
- 22. DirectX游戏地图
- 23. 正在处理中重置游戏
- 24. IOS键盘输入选择器
- 25. 如何处理2D平台游戏中的复杂输入?
- 26. 这是Azure表中分区和行键的正确选择吗?
- 27. Java 2D游戏开发:多键输入
- 28. WPF和DirectX - 游戏覆盖
- 29. 键盘输入的LWJGL方法在游戏循环中不起作用
- 30. 如何正确处理快捷键和键盘事件?