2010-10-21 61 views
0

我正在用C++构建一些简单的openGL游戏。 我按住某个键时有一些动作。 我希望它是连续的,但我的问题是,在按下键(在键盘上)后的第一秒,系统将其称为一次单击,我的游戏对象一次移动,并在一秒钟之后它统计持续移动。 一些想法来解决这个问题? 谢谢。C++ openGL连续按下按钮

+0

OpenGL根本没有输入处理。它由您的GL库或其他方式制作而成。 – alxx 2010-10-21 19:59:37

回答

2

你应该有一个全局布尔值(或者更好的结构,包含所有不同键的布尔值),在初始键盘上设置为true,在键盘上设置为false。然后,当你做你的动作时,你检查这个布尔。

+0

我想补充一下,如果你将关键代码作为字节获取,你可能会在char [256]中存储每个关键字的状态。或者在char [32]中,如果你很聪明:) – alxx 2010-10-22 05:53:19

0

使用glutKeyboardUpFuncglutSpecialUpFunc如果它是一个特殊的键。两者都会告诉你用户什么时候释放了密钥。