【发布时间】:2013-03-27 16:33:28
【问题描述】:
我正在尝试为我正在使用 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();
}
但是我没有得到这个功能。我在这个特定的代码上暂停了屏幕,并且在这里和那里尝试了一些 tweaks,有时我的屏幕更新非常快,这将我指向this,但我无法以某种方式找到解决我的问题的方法
任何帮助或指针?
PS:在这个问题中没有关于 OpenGL 的内容,但我认为那些可能已经处理过类似想法的人,添加 OpenGL 标记
【问题讨论】:
标签: c++ qt opengl game-engine qtimer