我想在XNA中构建一个引擎,主要用于2D RPG。起初,我开始抽象出一些类并构建一个包含Vector2和Texture2D的Sprite类,并尝试从Sprite类中加载内容。构造函数。但是,这没有用。现在,似乎我必须加载Game类中的所有精灵。 LoadContent方法。有没有办法解决?如果可能的话,我想将实际的游戏内容与引擎的内部工作分开。
答案 0 :(得分:2)
是的,您可以将ContentManager
作为参数传递给constructor
,以便在课堂上使用此参数。 e.g。
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);
}
}