我希望能够在按下' a'之后调用我的功能来移动我的螺旋桨(OpenGL工作)。键。这就是我设置的内容:
switch (key)
{
case 'a':
startShip = 1;
while (1 (&& startShip == 1)) {
spinPropeller();
}
}
我陷入无限循环。我尝试过使用定时器功能,但我不确定如何正确实现它。我希望我的螺旋桨旋转,直到程序关闭才停止。
编辑:程序应在检测到' q'之后关闭。键
答案 0 :(得分:2)
游戏循环的工作方式如下:
while (true)
{
get_input(); // get keyboard, mouse, and joystick input
move_items(); // update the player position and all other items in the game, fire weapons, and update game state
collision_detection(); // figure out what hit what and update game state
render(); // draw your OpenGL scene
}
要实现这一点,您的get_input函数或等效函数需要以非阻塞方式读取键盘状态。我认为OpenGL或GLUT有一个辅助功能,但实现可能是特定于平台的。