2010-10-12 6 views
0

Je suis actuellement de jouer avec C# 4.0 XNA, mais je rencontre quelques problèmes assignant un Texture2D à un Texture2D existant. Un exemple du code ci-dessous:Attribution d'un Texture2D à un Texture2D existant

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; 

Mais quand je suis en train d'utiliser le texCurrentDisc dans etc. Draw, je reçois l'erreur suivante: Cette méthode n'accepte pas nulle pour ce paramètre. Nom du paramètre: texture Le texCurrentDisc est juste initialisé en tant que: Texture2D texCurrentDisc;

+0

Êtes-vous sûr que vous assignez correctement au bon moment? Y a-t-il une référence à la même texture dans texCurrentDisc lorsque vous appelez Draw? – Euphoric

Répondre

1

Il était tout simplement une erreur dans le code, avec la texture trop tard lors de leur initialisation, avant qu'elle ne devrait dessiner.

0

Pouvez-vous charger la texture en utilisant "textures/disc_96"? Je pensais qu'il devait utiliser quelque chose comme "textures \ disc_96". Aussi, vous affectez à texDisc48 deux fois. Alors peut-être essayer:

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