构建2D XNA游戏引擎

我想在XNA中构建引擎,主要用于2D RPG。 起初,我开始抽象出一些类并构建了一个包装了Vector2和Texture2D的Sprite类,并尝试从Sprite类的构造函数中加载内容。 但是,这并没有奏效。 现在看来,我必须加载Game类的LoadContent方法中的所有精灵。 有没有办法解决? 如果可能,我想将实际的游戏内容与引擎的内部工作分开。


是的,您可以将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);
    }

}
链接地址: http://www.djcxy.com/p/95513.html

上一篇: Building a 2D XNA Game Engine

下一篇: Optimizing drawing calls in a basic XNA engine