私はゲームの中で、ほとんどのマネージャが常駐するコアと呼ばれるクラスを持っています。ゲームが始まると、すべての私のリソース、言語データ、ビットマップ、サウンドがマネージャによってロードされるので、ここに移動します。クラスを複数のクラスに渡すにはどうすればよいですか?
その後、シーンマネージャが作成され、最初のシーンが初期化されます。
問題は、上位レベルのクラスからシーンなどの下位レベルのクラスにデータを共有することで発生します。
シーンが開始するとき、マネージャからビットマップとサウンドを要求する必要があります。ほとんどの場面では、言語に基づいてボタンを置くための言葉を調べる必要もあります。
私がこれを行う方法は、マネージャマネージャクラスの一種を持つことです。これは、ほとんどの場面で使用される各タイプのマネージャーで構築されます。これは現在のシーンへのポインタを渡すシーンマネージャに渡されます。
これは、新しいマネージャがあるたびに、マネージャマネージャのコンストラクタを変更し、シーンマネージャでいくつか変更する必要があることを意味します。
これを行うより良い方法はありますか?どのようにこの種のことが行われていますか?グローバル利用可能な機能とデータのために
おかげ
シングルトン?それは今アンチパターンではないですか? – Lalaland
それはまだ広く普及していますが、なぜ私は解決策を拒否する必要があるのか分かりません。なぜなら、それはもう流行にそれほど多くないからです。 – Paranaix
@paranaix:多分それはもう十分に良いとは考えられない理由があります.. – tp1