Qt4 用の 2-D ゲーム エンジンはありますか? 衝突検出機能があり、画面上に多数のスプライトが表示されてもスムーズに動作するゲーム エンジンが必要です。
5 に答える
QT Graphics ビューには、衝突検出が組み込まれています。そのためのフレームワークは必要ありません。
"Graphics View は、多数のカスタムメイドの 2D グラフィック アイテムを管理および操作するためのサーフェスを提供します"
純粋な Qt ソリューションではありませんが、Gluonは Qt といくつかの KDE ゲーム ライブラリに基づくゲーム開発ライブラリです。
2D ゲームでは、ピクセル レベルの衝突検出はそれほど難しくありません。まず、ディスプレイと同じサイズのメモリ バッファを作成します。次に、各スプライトが描画されるときに、書き込まれる値が何らかの ID であるメモリ バッファーにモノクロ バージョンを描画します。衝突をテストするには、メモリ バッファー内の (x,y) 位置をチェックして、ゼロ以外の値を確認します。読み取った値は、オブジェクトの ID です。
キャンバスに多くのアイテムを配置する場合は、QGraphicsViewがおそらく最良の選択です。ゲームに含まれるオブジェクトが多すぎない場合(たとえば、500未満)、QML、別名Qt Quick(Qt 4.7でリリースされる予定)を検討することもできます。また、QGraphicsViewはQt開発者コミュニティで大きなサポートを受けているため、多くのコンポーネントがすでに利用可能です(libkdegamesなど)。