我目前正在使用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;
但是当我尝试在等Draw中使用texCurrentDisc时,我收到以下错误: 此方法不接受此参数的null。 参数名称:纹理。 texCurrentDisc只是初始化为: Texture2D texCurrentDisc;
答案 0 :(得分:1)
这只是代码中的一个错误,在它应该绘制它之前,纹理被初始化太晚了。
答案 1 :(得分:0)
可以使用“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");