Я хотел бы построить двигатель в XNA, в первую очередь для 2D-RPG. Сначала я начал абстрагировать некоторые классы и построил класс Sprite, который обернул Vector2 и Texture2D, и попытался загрузить контент из конструктора класса Sprite. Однако это не сработало. Теперь кажется, что я должен загрузить все спрайты в методе LoadContent класса Game. Во всяком случае, вокруг? Я бы хотел отделить фактическое игровое содержимое от внутренней работы двигателя, если это возможно.Построение 2D-игрового движка XNA
2
A
ответ
2
Да, вы можете передать 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
Да. Я изменил свой ответ, чтобы показать это. –