1
我想为我在Qt + OpenGL中开发的游戏实现暂停按钮。在Qt中使用QTimer在按钮上暂停功能按下
我想用QTimer来实现它。 基本上我每100ms更新一次屏幕。所以为了暂停游戏,我会按下按钮停止计时器。当再次按下按钮,我会启动定时器再次
这里是我的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();
}
但我没有得到的功能。我得到暂停屏幕上这个特殊的代码,并在尝试一些调整在这里和那里,有时我得到的屏幕更新非常快速度这向我指出this但我无法找到治愈我的问题在某种程度上
任何帮助或指针?
PS:在这个问题上没有什么关于OpenGL的,但我认为这些都是谁可能已经处理了类似思人,加入OpenGL的标签
你说的是正确的,但我有同样的按钮暂停和播放功能(只需更改图标)。那么你能建议其他的方法来暂停游戏吗? – Adorn 2013-03-27 16:49:46
麻烦就在你试图进行初始化的地方。整体概念是确定的,即使是播放/暂停切换按钮。尽早建立连接。大多数连接应该在对象的构造函数中设置。这样确保连接只发生一次,确实很容易。 – cgmb 2013-03-27 17:30:40
你是对的。有效。谢谢 – Adorn 2013-03-27 19:37:13