我正在使用glutkeyboardfunc
and控制屏幕上的精灵keyDown
。
例如。当我实现以下代码时,精灵成功跳起来:
if(keyDown[119]){//w key = up
sprite_y +=40.0f;
spriteT=spriteJ;
}
在空中时,精灵使用以下代码返回:
if(sprite_y>0){ gravity-=10*delta; sprite_y+=gravity; }
else{ gravity=0; }
我遇到的问题是,如果您将手指放在w
键上,精灵会永远跳跃并继续上升。
我知道这是因为我正在使用该keyDown
方法,所以我尝试了这个:
if(keyDown[119]){//w key = up
sprite_y +=40.0f;
spriteT=spriteJ;
keyDown[119]=0;//reset keyDown to keyUp
}
但我没有运气...
有没有办法可以将它限制在keyDown
某个时间段内,或者只像按下一次一样?谢谢。
编辑我不太明白这个问题如何值得一票否决。你甚至读过它吗?