0

我目前正在搞乱 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;

但是当我尝试在 etc Draw 中使用 texCurrentDisc 时,出现以下错误: 此方法不接受此参数的 null。参数名称:纹理。texCurrentDisc 刚刚初始化为:Texture2D texCurrentDisc;

4

2 回答 2

1

这只是代码中的一个错误,纹理在绘制之前初始化得太晚了。

于 2010-11-09T12:46:28.313 回答
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");
于 2010-10-12T22:48:40.987 回答