XNA 4.0 では、ゲーム クラスの GraphicsDevice プロパティと "graphics" 変数の GraphicsDevice プロパティの違いは何ですか? ところで、「グラフィックス」はタイプGraphicsDeviceManagerです。
問題がある場合は、Visual Studio 2010 を使用しています。
何もない。自分で試してみてください:
Console.WriteLine(ReferenceEquals(graphics.GraphicsDevice, this.GraphicsDevice));
それを中のような場所に置きLoadContent
ます。を出力することがわかりますtrue
。どちらも同じオブジェクトを参照しています。
読みやすくするために、通常は を使用する必要がありますGame.GraphicsDevice
。
基礎となる動作はGraphicsDeviceManager
、 (メンバーIGraphicsDeviceService
を提供する) です。GraphicsDevice
を作成するGraphicsDeviceManager
と、それ自体がコンストラクターに追加さGame.Services
れます (コンストラクターに your への参照を渡す方法を参照してくださいGame
)。
Game
リスト内のGraphicsDevice
任意のメンバーを設定します。そうすれば、実装する独自のクラスに置き換えることができます-たまたま気が狂った場合;)IGraphicsDeviceService
Services
GraphicsDeviceManager
IGraphicsDeviceService
GraphicsDeviceManager
も同様の方法で ( を通じて) を使用してIGraphicsDeviceManager
、グラフィックス デバイスの作成を管理する です。Game
Game.Services
GraphicsDeviceManager は GraphicsDevice を管理するため、GraphicsDevice を直接使用しないでください。必要に応じて GraphicsDeviceManager.GraphicsDevice プロパティを使用する代わりに、変更することができます。