【发布时间】:2011-10-13 19:58:15
【问题描述】:
我最近通过 C++ 使用 OpenGL 和 GLUT 创建了一个小型应用程序。 一切都很好,然后我用帧率等实现了一个适当的游戏循环,这让很多事情变得更好,但它似乎也打破了常规的 GLUT 键盘检测(无论如何这对于游戏键盘输入来说似乎从来都不是很好) - 所以现在我正在我的应用程序中寻找另一种键盘输入方法。
任何人都可以提出任何其他(最好是相对简单的)检测应用程序中的关键输入的方法吗?
【问题讨论】:
-
如果您使用的是内置操作系统 API,我们需要知道您使用的是什么操作系统(我猜是 Windows?)否则您可以尝试另一个轻量级库,例如 GLFW。
-
不是我喜欢 GLUT,但是为什么你说 glut 键盘输入不好呢? GLUT 有两种键盘输入模式。一个就像在文本编辑器中一样,如果你一直按一个键,你会定期收到它。另一种方法(用于游戏)是在按键被按下(因此您更改游戏状态)和释放时(因此您将状态更改回来)通知您。第二种方法非常适合游戏。顺便说一句,第二种方法也适用于 SDL。我用它写了很多游戏,它们都很好用。
-
@Shahbaz,很抱歉提到旧的评论和帖子,但是 freeglut 甚至有几个多年来没有解决的错误,例如按下 ctrl + 数字时甚至不会触发键盘回调,没有特殊键盘回调.您无法区分 ctrl-break 和 ctrl -c 因为它们被报告为相同的 ascii 字符...... glut is 中的键盘处理不好。还有其他错误,仅在 Windows 上...sourceforge.net/p/freeglut/bugs