使用Qt更新/渲染游戏对象
Update/render game objects using Qt
我想知道如何在使用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.
}
};
干杯。
Qt具有事件循环;它由CCD_ 2启动。我不知道你对更新和渲染的要求是什么;但既然你似乎想要一个像"典型游戏"中那样的事件循环,我想你可以从那里开始。
在您的应用程序中,创建一个QTimer
。将它的timeout
信号连接到每个事件循环中要调用的插槽。调用QTimer::start(0)
:这将通过事件循环每次触发timeout
信号。
就时间而言,看看QElapsedTimer——我怀疑这就是你想要的。
相关文章:
- 将四元数旋转的游戏对象旋转另一个四元数时出现问题
- 在游戏循环中创建类对象
- 如何在 c++ 中动态创建(游戏角色)类的多个对象
- 无法访问/存储地图中的游戏状态对象
- 在基于文本的游戏中,如何将对象放置在房间内?
- "游戏对象":没有合适的默认构造函数可用
- 使用什么数据结构来存储基于游戏对象的二维单元地图?
- 游戏引擎:Dynamic_cast-对象类不是多态类型
- C++ 确定类是否可以使用对象 - 文本 RPG 游戏
- 如何与时间连续创建对象?C 游戏
- 如何处理C 游戏中的许多对象
- 使用Lua定义C++游戏中对象的变量
- 如何有效地将游戏对象存储在四叉树中
- 在C++中为游戏对象设计类层次结构
- 在类中封装游戏对象
- 对于经常创建和删除的游戏对象,我应该使用什么容器
- 为什么我们需要维护自己的矩阵来转换游戏对象
- 使用Qt更新/渲染游戏对象
- 在游戏对象定义中放置的位置
- 基于组件的游戏对象的阵列和地图之间的优点和缺点