DrawableGameComponent
「インスタンスクラス」に使えることに気づきました
DrawableGameComponent
Draw
、などLoadContent
の「オーバーライド」が含まれていますUpdate
...以下のコードを見てください。
これはGame1のクラスです。
public class Game1 : Microsoft.Xna.Framework.Game
{
public Game1()
{
graphics = new GraphicsDeviceManager(this);
Content.RootDirectory = "Contenttt";
graphics.PreferredBackBufferWidth = GAME_WIDTH;
graphics.PreferredBackBufferHeight = GAME_HEIGHT;
}
}
私の他のクラスのコード:
public class Bullet: DrawableGameComponent //based by DrawableGameComponent
{
public Bullet(Game1 game): base(game) //set argument for draablegamecomponent
{
//do something
}
}
DrawableGameComponent:
public DrawableGameComponent(ゲームゲーム)
パラメータの説明:
ゲーム タイプ:ゲームゲームコンポーネントをアタッチする必要のあるゲーム。**
ご覧のとおり、のパラメータDrawableGameComponent
はのクラスです Microsoft.Xna.Framework.Game
。Game1
次に、クラスで埋めます。
これは私の他のクラスのコードであり、私のWorldGame1ではDrawableGameComponent によるオーバーライドに影響を与えます
protected override void Initialize()
{
base.Initialize();
}
protected override void LoadContent()
{
}
protected override void UnloadContent()
{
}
問題は、なぜ自分のクラスでそれらの「オーバーライド」を使用できるのかということです。なぜこれがgame1の世界に影響を与えるのでしょうか?
一方、C#では「ベース」ステートメントは次のようになります
パブリッククラス箇条書き:MyClass
ベースの「インスタンス」クラスにすることはできません。
ただしDrawableGameComponent
、インスタンスクラスの場合、パラメータを使用して設定できるため、「overridevoid」は前に配置したパラメータのクラスで機能します。
方法をご存知でしたら、クラスの作り方を教えてください。