我想知道在使用 Qt 时如何更新和渲染游戏对象。例如,对于一个典型的游戏,你会有一个事件循环,但 Qt 只有exec()
. 使用 Qt 更新和渲染游戏对象的正确方法是什么?如何获取每帧之间的时间来更新我的游戏对象?我是否为所有这些使用单独的线程?
我的问题与这个线程非常相似,除了我不想避免标准 Qt 进程。
编辑:我为不完整的问题道歉。我相信 tmpearce 已经回答了我的问题,但这是我尝试做的一个基本示例,以防其他人遇到同样的问题:
int main(int argv, char **args)
{
QApplication app(argv, args);
ApplicationWindow window;
window.show();
// How and where do I update my Game object?
return app.exec();
}
class Game
{
public:
void timeUpdate()
{
// Update game entities, etc. Should be called every frame.
}
void render()
{
// Renders game entities - where should I render to?
// Should be called 30 times a second, etc.
}
};
干杯。