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.
}
};
乾杯。