【问题标题】:XNA ContentLoadExceptionXNA 内容加载异常
【发布时间】:2011-04-24 20:38:27
【问题描述】:

我开始学习“一些”XNA 并且 - 正如预期的那样 - 我很早就遇到了障碍。

  • 我创建了一个 WP7 XNA 游戏解决方案
  • 我已删除默认内容项目
  • 我添加了自己的内容项目“Sprites”
  • 我已将 3 个 *.png 文件添加到“Sprites”项目(MyImage1.png、MyImage2.png、MyImage3.png)
  • 我添加了一个内容引用,将“Sprites”引用到主游戏项目

/**/

protected override void LoadContent()
{
    // Create a new SpriteBatch, which can be used to draw textures.
    spriteBatch = new SpriteBatch(GraphicsDevice);

    logoTexture = Content.Load<Texture2D>("Sprites/MyImage1");

    // TODO: use this.Content to load your game content here    
}

我在尝试加载我的 *.png 文件时收到 ContentLoadException 提示“未找到”

  • 我确实检查了输出目录,存在一个包含 *.xnb 文件的“Sprites”子文件夹
  • 我确实检查了图像的属性,所有图像都标记为 Texture2D,并且内容导入器和处理器设置为默认 XNA 值

我很确定我犯了一个常见的 n00b'ish 错误,但我没有看到它,所以我希望得到一些指导。

问题已解决

Content.RootDirectory = "Content"; // The cause of the problem

问候

【问题讨论】:

  • 请将lukas 的答案标记为正确,而不是编辑您的答案。
  • @Neil 我确实比他发布的更快找到了答案

标签: c# xna xna-4.0


【解决方案1】:

为什么要删除内容项目?

我的猜测是你需要设置 RootDirectory

        Content.RootDirectory = "Content";

顺便说一句,哪个创建 ContentManager 对象。

【讨论】:

    【解决方案2】:

    您应该尝试以下路径格式:

    ".\\Sprites\\MyImage1"
    

    根据 MSDN,路径必须相对于当前目录。并且目录分隔符是'\'。

    【讨论】:

    • 我重新检查了内部异常,它正在尝试从该路径加载文件:“加载时出错“Content\Sprites\MyImage1.xnb”。找不到文件”。内容不是在内容子文件夹中生成的,知道为什么吗?
    • 是的,正如@lukas 提到的,那是因为你没有设置'RootDirectory'。将该属性设置为“Sprites”并在加载图像时删除该部分应该可以工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多