我使用wxWidgets和OpenGL创建游戏引擎。我正在尝试设置一个计时器,以便定期更新游戏。我不想使用wxTimer,因为它可能对我所需要的不够准确。我使用了一段时间(真)和wxStopWatch:在wxWidgets中处理事件
while (true) {
stopWatch.Start();
<handle events> // I need a function for this
game->OnUpdate();
game->Refresh();
if (stopWatch.Time() < 1000/60)
wxMilliSleep(1000/60 - stopWatch.Time());
}
我需要的是将处理所有的wxWidgets的事件,因为现在我的应用程序只是冻结功能。
更新:它没有。它在Windows上稍微不稳定,并且在Mac上测试时,它非常不稳定。显然,EVT_IDLE在Windows上不会一致调用,在Mac上甚至更少。
更新2:它实际上主要是。在Mac上没问题;我误解了我的Mac测试人员的回复。
将此标记为解决方案。 :-)(如果这是允许的......我是新来的。) – exclsr 2009-07-15 19:40:59
您可以通过点击投票计数下的大选标记来接受自己的答案。不需要注释标题。 – 2009-07-15 19:42:53