【发布时间】:2016-10-16 17:31:20
【问题描述】:
我希望能够在按下“a”键后调用移动螺旋桨的函数(OpenGL 工作)。这是我设置的:
switch (key)
{
case 'a':
startShip = 1;
while (1 (&& startShip == 1)) {
spinPropeller();
}
}
我陷入了无限循环。我尝试过使用计时器功能,但我不确定如何正确实现它。我希望我的螺旋桨旋转并且在程序关闭之前不会停止。
编辑:程序应在检测到“q”键后关闭
【问题讨论】:
-
我认为在
case 'a'之后应该有一个:。 -
只要我们没有看到,是什么(以及如何)改变了
startShip的值,就很难判断出什么问题。 -
我试图证明按下键 'a' 后,startship 将值更改为 1,显示程序已准备好移动,并且螺旋桨将继续旋转
-
另外,我不知道这行:
while(1 (&& startShip == 1 ))是否为您编译,可能不是因为它会被解释为函数,所以我将其更改为:while(1 && (startShip == 1 ))。 -
我看到
startShip = 1;但它会永远保持为 1,您将无法输入新密钥,因为您的代码只会执行spinPropeller。如果你想停止它,你必须等待while循环中的新密钥。