我想在XNA中构建一个引擎,主要用于2DRPG。首先,我开始抽象出一些类,构建了一个封装了Vector2和Texture2D的Sprite类,并尝试从Sprite类的构造函数中加载内容。然而,这并不起作用。现在,看起来我必须在游戏类的LoadContent方法中加载所有的精灵。有没有什么办法解决这个问题呢?如果可能的话,我希望将实际的游戏内容从引擎的内部工作中分离出来。
发布于 2011-12-05 15:12:30
是的,您可以将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);
}
}https://stackoverflow.com/questions/8381391
复制相似问题