私はQtの中で、2Dタイルベースのゲームをプログラミングを開始し、2Dの多くを表示して処理するために意図されているQGraphicsSceneとQGraphicsViewクラスについて読みするつもりを使用してQtのタイルベースのゲームを始めようオブジェクト。はQGraphicsSceneとQGraphicsView
私の質問は、それはQGraphicsSceneを使用してタイルのたくさんの世界を作成することが可能になりますでしょうか?一度に全世界をタイル単位で追加することはできますか、それともその領域を少し制限するために何かを実装しようとすべきですか?私は、QGraphicsSceneが "何千ものアイテム"を扱うことができると読んだが、2Dタイルマップは実際には本当に大きくなる(200x200のタイルはそれほど多くはないが、それはすでに40,000のオブジェクトが多い)。
マップもかなり静的になるので、1つの大きなピクスマップとして描画することは可能かもしれませんが、これはQGraphicsSceneのすべての魅力的なものを、独立したアイテムなどのマウスクリックのように使用することを本当に防ぎます。その中で、タイルグリッドに合わせられないプレイヤー、NPCなどを描くつもりです。多くの静的オブジェクトとそれらの上にいくつかの動的オブジェクトを使用するためのいくつかの最適化のものがありますか?
は全くさえ良いアイデアQGraphicsSceneとQGraphicsViewを使用しているか、私はQtの内部の代替または多分異なる、より多くのゲーム指向のライブラリを探してみてください? QGraphicsSceneのみビューに表示されているものをペイントする能力を持っている
だ、代わりにデフォルトのソフトウェアレンダラのレンダラとしてOpenGLを指定することで、パフォーマンスを大幅に向上させることが可能です: 'UI-> graphicsView - > setViewport(新しいQOpenGLWidget); ' – vsz