我对XNA很新。实际上我有kurt jaegers的 XNA 4.0书,所以我安装了VS 2010和XNA 4.0并编写了我的第一个程序。但该程序未成功运行,它仍然显示未找到的ContentLoadException
文件。所以我在网上做了一些研究,发现XNA 4.0存在一些问题。所以我卸载了VS 2010& XNA 4.0并安装了VS 2008(快车版)& XNA 3.0。然后我编写了我的第一个程序,并成功运行。
但是,现在我的新项目再次面临同样的问题。我已经尝试了两种语法:
xx = this.Content.Load<Texture2D>("TitleScreen");
xx = Content.Load<Texture2D>(@"TitleScreen");
并且没有拼写错配问题。请Mods指导我。请告诉我为什么我一次又一次地遇到这个问题。
System Specs :
XP sp3,i3,2gb RAM.
答案 0 :(得分:1)
您希望通过ContentManager加载的内容需要位于内容项目中。假装看起来像这样
Mygame.Content&gt; SomeFolder&gt; textureName
您可以使用content.Load<Texture2D>("SomeFolder/textureName")
来获取它。如果它位于内容项目的根目录content.Load<Texture2D>("textureName")
将起作用。如果(以及之后)不是有两件事要检查
Content.RootDirectory
并查看它是什么。如果不是“内容”,则将其更改为该内容。这也可以。答案 1 :(得分:0)
为了正确加载内容,您需要使用通用方法
ContentManager.Load<T>
例如,如果您尝试加载Texture2D元素,请使用以下语法:
Texture2D texture = Content.Load<Texture2D>("textureName");
详细了解如何在this link中加载内容。
答案 2 :(得分:0)
ContentManagers存在一个已知问题,该问题由默认的Game对象构造函数以外的任何其他方式实例化,这会导致您遇到的问题。
如果您确实使用的是GameManager对象,而不是Game对象提供的对象,则解决方案是:
实例化ContentManager时,应将其RootDirectory属性设置为
<强> @ “内容”强>
希望有所帮助