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
是的。我已经修改了我的答案来证明这一点。 –