我正在尝试为我在 Qt + OpenGL 中开发的游戏实现暂停按钮。
我想使用 QTimer 来实现它。基本上我每 100 毫秒更新一次屏幕。所以为了暂停游戏,我会在按钮按下时停止计时器。当再次按下按钮时,我将再次启动计时器
这是我的 pauseOrPlay SLOT:
void Window::pauseOrPlay()
{
GLWidget::modifyTimer = TRUE;
GLWidget::isPaused = !GLWidget::isPaused;
GLWidget timerUpdater;
timerUpdater.timerFunc();
}
这是我的 timerFunc()
GLvoid GLWidget::timerFunc()
{
static QTimer *timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(update()));
if( GLWidget::isPaused)
timer->start(100);
else
timer->stop();
}
但我没有得到这个功能。我在这个特定的代码上暂停了屏幕,并且在这里和那里尝试了一些调整,有时我的屏幕更新非常快,这指向了我,但我无法以某种方式找到解决我的问题的方法
任何帮助或指针?
PS:在这个问题中没有关于 OpenGL 的内容,但我认为那些可能已经处理过类似想法的人,添加 OpenGL 标签