これはあいまいな質問ですが、私には負担してください。私はPython/PygletとOpenGLを使ってゲームを書く過程にあります。私は現在、「ワールド」と呼ばれるオブジェクトが存在するように構造化しています。他のオブジェクトが内部にあるオブジェクトなどです。このようにしました。たとえば、ゲームの一部が他のオブジェクトを持つプラットフォームであり、私がプラットフォームを傾けると、その上にあるオブジェクトをそれに合わせて欲しいと思っています。ですから、glRotate、glTranslateを呼び出すplatform.draw()を実行し、モデルビュー行列を保存している各オブジェクトを描画します。このようにして、プラットフォーム上のすべてのオブジェクトが一緒に移動します。 最初の質問は、これを物事を整理するための賢明な方法ですか、それとも他の方法を使用するべきですか?3Dゲームの構造を整理するには?
私はカメラクラスを持っていませんが、現在私は動きの錯覚を与えるために世界全体または一部を翻訳しています。しかし、将来、私はオブジェクト間の視点を切り替えることができるようにしたいと考えています。例えば、上から見下ろすことから上の世界へのオブジェクトの1人目のビューへの切り替えです。したがって、2番目の質問は、これが今後達成されるように私のプログラムを構築する最良の方法は何ですか?
問題は、私は私の世界でのオブジェクトのいずれかで何かをしたいときに私はworld.object1.object2を行うには持っていますということです。 object3.do_something()、少し醜いです。私はまた、世界の残りの部分へのポインタを各オブジェクトに渡す必要があります。これは実際には大きな問題ではありません。 – eggbert