Загрузка текстур из другого класса. XNA - PullRequest
1 голос
/ 03 сентября 2011

У меня следующая проблема: Я хочу загрузить свою текстуру из моего класса игрока. Так что я буду делать следующее в своем классе игрока:

   public void Load(ContentManager Content)
    {
        Content.Load<Texture2D>("Images/pong");
    }

И я сделаю это в моем основном классе;

MyPlayer.Load(Content);
        MyPlayer = new Player(new Vector2(500, 700), Bat,new Vector2(5,5),new Vector2(Bat.Width / 2,Bat.Height/2),graphics);

Но там говорится, что мне нужно использовать ключевое слово new, прежде чем я смогу использовать методы (и я это понимаю). Что я могу сделать, чтобы исправить это и правильно загрузить текстуры из других классов?

Ответы [ 2 ]

0 голосов
/ 04 сентября 2011

Что такое "летучая мышь"? Кроме того, вы должны сначала вызвать MyPlayer = new Player (...), а затем вызвать MyPlayer.Load ().

Я бы порекомендовал сделать что-то вроде этого:

MyPlayer = new Player(POSITION, Content.Load<Texture2D>("PathWhereBatIs"), new Vector2(5,5),graphics);

и затем в конструкторе Player, чтобы получить источник Bat-текстуры, сделайте следующее:

public Player(Vector pos, Texture2D tex, Vector2 ??, GraphicsDevice device)
{
    Vector2 Origin = new Vector2(tex.Width / 2f, tex.Height / 2f);

    ...
}
0 голосов
/ 03 сентября 2011

Просто поменяйте местами 2 инструкции и сохраните текстуру где-нибудь (вы загружаете ее, но не назначаете никакой переменной):

MyPlayer = new Player(new Vector2(500, 700), Bat,new Vector2(5,5),new Vector2(Bat.Width / 2,Bat.Height/2),graphics);
playerTexture = MyPlayer.Load(Content);

...

public Texture2D Load(ContentManager Content)
{
    return Content.Load<Texture2D>("Images/pong");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...