2
我想在XNA中構建引擎,主要用於2D RPG。起初,我開始抽象出一些類並構建了一個包裝了Vector2和Texture2D的Sprite類,並嘗試從Sprite類的構造函數中加載內容。但是,這並沒有奏效。現在看來,我必須加載Game類的LoadContent方法中的所有精靈。有沒有辦法解決?如果可能,我想將實際的遊戲內容與引擎的內部工作分開。構建2D XNA遊戲引擎
我想在XNA中構建引擎,主要用於2D RPG。起初,我開始抽象出一些類並構建了一個包裝了Vector2和Texture2D的Sprite類,並嘗試從Sprite類的構造函數中加載內容。但是,這並沒有奏效。現在看來,我必須加載Game類的LoadContent方法中的所有精靈。有沒有辦法解決?如果可能,我想將實際的遊戲內容與引擎的內部工作分開。構建2D XNA遊戲引擎
是的,您可以將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);
}
}
我必須從遊戲類中傳遞它嗎? – zeboidlund
是的。我已經修改了我的答案來證明這一點。 –