Windows游戏(4.0)程序找不到我创建的文件?

时间:2011-12-25 07:52:49

标签: c# xna xna-4.0

面对一个蹩脚的问题。出于某种原因,我的程序似乎无法找到我制作的文件。我有这行代码:

 myCoolFont = Content.Load<SpriteFont>("TheFont/myFont.spritefont");

在我的“内容”项目中,我创建了一个名为“TheFont”的文件夹...在这个文件夹中,我创建了一个名为“myFont”的.spritefont文件

为什么我无法访问它?我在这做错了什么?

编辑:

如果我放入整个路径,它会找到该文件,但说它无法打开它:为什么会这样?

4 个答案:

答案 0 :(得分:4)

删除文件扩展名。内容管道将每个文件编译为“filename.xfb”并注释相应的文件类型。

myCoolFont = Content.Load<SpriteFont>("TheFont/myFont");

编辑:当然,必须在tyour项目中将spritefont设置为“Compile”。如果您在编译版本中有.spritefont,您正在编译错误

答案 1 :(得分:1)

确保您在主要项目中引用了您的内容项目。您可能需要将内容根目录设置为内容项目的名称,通常只是“内容”。加载字体时,请不要包含.spritefont扩展名。圣诞快乐!

答案 2 :(得分:0)

您可以通过设置CurrentDirectory属性

来消除对文件使用完整路径规范的需要
Directory.SetCurrentDirectory(@"C:\Full-Path-To-Application\");

至于阅读问题 - 尝试检查文件的安全设置,因为您是手动创建的 - 它可能对您的用户有一些限制。

答案 3 :(得分:0)

我遇到了很多麻烦。

我通过选择您要加载的文件的属性来修复它,并将“复制到输出目录”更改为“如果更新则复制”,因为默认值为“不复制”。

希望它可以帮助某人。