xna 4.0和加载图像失败

时间:2012-01-15 16:34:34

标签: c# xna-4.0

我正在尝试将png图像加载到我的游戏中,但由于某种原因它无法找到图像。

这是我试图加载图片的标题屏幕:

public TitleScreen(ContentManager contentManager)
  {
     titleScreen = contentManager.Load<Texture2D>("gfx\\titleScreen");
     bgScreen = contentManager.Load<Texture2D>("gfx\\bgScreen");
     arialFont = contentManager.Load<SpriteFont>("Arial");
  }

我在这里设置内容的根目录:

Content.RootDirectory = "Content";

当我的程序点击屏幕时,它无法找到图像,但是它的路径是正确的,图像也被设置为内容并复制到输出目录。

当我尝试调试它时,它告诉我它找不到图像“Content \ gfx \ titleScreen.xnb”。出于某种原因,它试图加载一个xnb文件,我可以在任何地方更改它,还是我还需要做其他事情?

3 个答案:

答案 0 :(得分:5)

在XNA中,图像是编译的.xnb文件,而不是.png或.jpg

XNA 3.0 || XNA 3.1
您将内容添加到项目中的“内容”文件夹

XNA 4.0
您有一个内容项目,并在当前项目中添加内容参考

另外,请确保设置图像的属性: 右键单击内容项 - &gt;属性 - &gt;设置以下

  • 构建操作:编译
  • 内容导入器/处理器:纹理 - XNA框架(纹理)
  • 内容导入器/处理器:Sprite字体描述 - XNA Framework(字体)
  • 不要复制

答案 1 :(得分:5)

另外请记住在向内容项目添加新资源后重建解决方案。

答案 2 :(得分:2)

在XNA中,您通常会加载已处理的文件(xnb文件)。您将向您的解决方案添加一个内容项目,并在您的主游戏项目中引用该项目(通常这是在您创建新游戏时设置的)。

您在那里添加文件(资产)。构建游戏时,将构建内容项目,该项目处理您的资产,生成xnb文件,这是ContentManager.Load方法所需的内容。