2011-12-05 18 views
2

主に2D RPG向けのエンジンをXNAに構築したいと考えています。最初はいくつかのクラスを抽象化し、Vector2とTexture2DをラップしたSpriteクラスを作成し、Spriteクラスのコンストラクタからコンテンツをロードしようとしました。しかし、これはうまくいかなかった。今、GameクラスのLoadContentメソッド内のすべてのスプライトをロードする必要があるようです。とにかくこれの周りにはありますか?可能であれば、実際のゲームコンテンツとエンジンの内部動作を区別したいと思います。2D XNAゲームエンジンを構築する

答えて

2

はい、ContentManagerをパラメータとしてconstructorに渡すことができますので、これをクラスで使用できます。例えば

public class MyClass 
{ 
    ContentManager content; 
    Texture2D sprite; 

    public MyClass(ContentManager content) 
    { 
     this.content = content; 
    } 

    public void LoadSprite(string filename) 
    { 
     sprite = this.content.Load<Texture2D>(filename); 
    } 
} 

public class Game1 
{ 
    ContentManager content; 

    public void LoadContent() 
    { 
     MyClass myclass = new MyClass(content); 
    } 

} 
+0

Gameクラスから渡す必要がありますか? – zeboidlund

+0

はい。私はこれを示すために私の答えを修正しました。 –

関連する問題