2

XNA 4.0 では、ゲーム クラスの GraphicsDevice プロパティと "graphics" 変数の GraphicsDevice プロパティの違いは何ですか? ところで、「グラフィックス」はタイプGraphicsDeviceManagerです。

問題がある場合は、Visual Studio 2010 を使用しています。

4

2 に答える 2

4

何もない。自分で試してみてください:

Console.WriteLine(ReferenceEquals(graphics.GraphicsDevice, this.GraphicsDevice));

それを中のような場所に置きLoadContentます。を出力することがわかりますtrue。どちらも同じオブジェクトを参照しています。

読みやすくするために、通常は を使用する必要がありますGame.GraphicsDevice


基礎となる動作はGraphicsDeviceManager、 (メンバーIGraphicsDeviceServiceを提供する) です。GraphicsDeviceを作成するGraphicsDeviceManagerと、それ自体がコンストラクターに追加さGame.Servicesれます (コンストラクターに your への参照を渡す方法を参照してくださいGame)。

Gameリスト内のGraphicsDevice任意のメンバーを設定します。そうすれば、実装する独自のクラスに置き換えることができます-たまたま気が狂った場合;)IGraphicsDeviceServiceServicesGraphicsDeviceManagerIGraphicsDeviceService

GraphicsDeviceManagerも同様の方法で ( を通じて) を使用してIGraphicsDeviceManager、グラフィックス デバイスの作成を管理する です。GameGame.Services

于 2012-11-25T15:09:11.873 に答える
0

GraphicsDeviceManager は GraphicsDevice を管理するため、GraphicsDevice を直接使用しないでください。必要に応じて GraphicsDeviceManager.GraphicsDevice プロパティを使用する代わりに、変更することができます。

于 2012-11-25T15:09:34.177 に答える