-1

我正准备向市场提交我的第一款游戏,但我遇到了这个问题。

我今天意识到我的 XAP 文件看起来真的很小。(大约 350kb)我今天读到我的所有内容(纹理、声音、字体)都应该将它们的构建操作设置为“内容”,而不是之前设置的“编译”。我将它们全部设置为“内容”设置,现在我收到“加载“文件名”时出错。找不到文件。”

除了构建操作之外,我没有更改任何其他内容,并且我已确认未找到所有文件。更改构建操作后,我需要在加载语句中更改什么吗?目前我的加载语句看起来像这样。

font = content.Load<SpriteFont>("menufont");

或者

ShipTexture = ScreenManager.Game.Content.Load<Texture2D>("Jet");

仅供参考,我已经使用 GameStateManagement 示例从头开始构建我的游戏,以防万一。

请帮忙。谢谢。

4

2 回答 2

3

我不确定你在哪里读到的,但这不是真的。

ContentManager对象,如,Game.Content被编程为查找xnb文件。这些必须从源文件编译,如 .png、.wav 等。设置为Content将源文件直接复制到 XAP 中,因此您必须打开它TitleContainer.OpenStream才能使用它,而不是正常的Content.Load,因为它不会成为一个xnb文件。

如果您的 XAP 文件非常小,可能是因为 XAP 对整个包使用 ZIP 压缩。查看 bin\Debug 或 bin\Release 文件夹中的“Content”文件夹以查看未压缩的完整大小。

于 2012-05-01T01:00:34.487 回答
1

您希望将其设置为Compile,而不是ContentBuild Action: Compile意味着它将作为 XNA 内容处理到一个.xnb文件中,然后可以通过ContentManager.Load<T>调用访问该文件。Build Action: Content是其他不会导致您的内容被编译的东西。它要么直接复制,要么被忽略,但无论哪种方式,资产都无法从ContentManager.

于 2012-05-01T00:58:39.013 回答