Назначение Texture2D существующему Texture2D - PullRequest
0 голосов
/ 12 октября 2010

В настоящее время я работаю с C # XNA 4.0, но у меня возникли некоторые проблемы с назначением Texture2D для существующего Texture2D. Пример кода показан ниже:

    protected override void LoadContent()
    {
        spriteBatch = new SpriteBatch(GraphicsDevice);

        texDisc48 = Content.Load<Texture2D>("textures/disc_24");
        texDisc48 = Content.Load<Texture2D>("textures/disc_48");
        texDisc96 = Content.Load<Texture2D>("textures/disc_96");
    } 
// Random place in the code
texCurrentDisc = texDisc96;

Но когда я пытаюсь использовать texCurrentDisc в etc Draw, я получаю следующую ошибку: Этот метод не принимает значение NULL для этого параметра. Имя параметра: текстура . TexCurrentDisc просто инициализируется как: Texture2D texCurrentDisc;

Ответы [ 2 ]

1 голос
/ 09 ноября 2010

Это была просто ошибка в коде, поскольку текстура была инициализирована слишком поздно, прежде чем она должна была ее нарисовать.

0 голосов
/ 13 октября 2010

Можете ли вы загрузить текстуру, используя "textures / disc_96"? Я думал, что это должно использовать что-то вроде "textures \ disc_96". Также вы назначаете на texDisc48 дважды. Так что, возможно, попробуйте:

    texDisc24 = Content.Load<Texture2D>("textures\\disc_24");
    texDisc48 = Content.Load<Texture2D>("textures\\disc_48");
    texDisc96 = Content.Load<Texture2D>("textures\\disc_96");
...