2011-12-05 7 views
2

주로 2D RPG 용 엔진을 XNA에 구축하고 싶습니다. 처음에는 일부 클래스를 추상화하고 Vector2와 Texture2D를 래핑 한 Sprite 클래스를 만들고 Sprite 클래스의 생성자에서 내용을로드하려고 시도했습니다. 그러나 이것은 효과가 없었습니다. 이제는 Game 클래스의 LoadContent 메서드 내에서 모든 스프라이트를로드해야하는 것으로 보입니다. 이 주변에 어쨌든 있습니까? 가능한 경우 실제 게임 콘텐츠를 엔진의 내부 동작과 분리하고 싶습니다.2D XNA 게임 엔진 구축

답변

2

예, 에 매개 변수로 ContentManager을 전달하여 클래스에서 사용할 수 있습니다. 예 :

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); 
    } 

} 
+0

Game 클래스에서 전달해야합니까? – zeboidlund

+0

예. 나는 이것을 보여주기 위해 나의 답을 수정했다. –