2010-10-12 3 views
0

Я в настоящее время возился с C# XNA 4.0, но у меня возникают некоторые проблемы с назначением Texture2D существующей Texture2D. Пример кода приведен ниже:Назначение 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 в Draw и т.д., я получаю следующее сообщение об ошибке: Этот метод не принимает нуль для этого параметра. Имя параметра: текстура. TexCurrentDisc просто инициализирован как: Texture2D texCurrentDisc;

+0

Вы уверены, что правильно задали его в нужное время? Есть ли ссылка на ту же текстуру в texCurrentDisc, когда вы вызываете Draw? – Euphoric

ответ

1

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

0

Можете ли вы загрузить текстуру, используя «текстуры/диск_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"); 

 Смежные вопросы

  • Нет связанных вопросов^_^