OpenGL - 使用击键暂停动画

use*_*323 0 c++ opengl

我需要无限期地暂停整个动画,直到用户再次按下相同的键.使用usleep我有一个粗略的停顿:

#include <unistd.h>

...

if(key == 'p')
    usleep(200000);
Run Code Online (Sandbox Code Playgroud)

理想情况下,我希望时间不确定,直到再次按下p(以毫秒为单位的睡眠测量,因此它不是很有用)有人能指出我如何做到这一点的方向吗?

Aes*_*ete 5

static bool paused = false;
if(key == 'p')
  paused = !paused;

// Somewhere in your main loop.
if(!paused)
  Render();
Run Code Online (Sandbox Code Playgroud)

你也可能会想尝试的关键检查起来,而不是键不放,否则会暂停和恢复非常迅速.