如何在Windows 8上使用MonoGame中的.xnb文件?

时间:2012-06-14 00:42:53

标签: xna monogame

我在Windows 7上制作的Windows Phone项目中有一个.xnb文件。我想在Windows 8 Metro应用程序中使用相同的资源。我在Windows 8上使用MonoGameWindowsMetroApplication模板中的项目获得了MSVS 2012 RC。我将.xnb文件放在项目Assets文件夹中并尝试加载它,但是我得到一个例外,告诉我无法加载资产。我需要什么属性或配置才能使用.xnb文件?

4 个答案:

答案 0 :(得分:3)

当MonoGame正在使用框架的Content Pipeline部分时,您可以使用与Windows Phone 7游戏相同的Content Pipeline引擎来创建内容管道并在Windows 8中使用关联的.xnb文件XNA MonoGame项目。

我有一个关于使用MonoGame for Windows 8构建XNA游戏的博客教程系列,如果你看一下第3部分,我将提供一个逐步完成此步骤的演练。 MonoGame团队审核并批准了我的实验室和我博客上的信息。

请参阅此处的信息:http://blogs.msdn.com/b/tarawalker/archive/2013/01/04/windows-8-game-development-using-c-xna-and-monogame-3-0-building-a-shooter-game-walkthrough-part-3-updating-graphics-using-content-pipeline-with-monogame.aspx

答案 1 :(得分:0)

运行时Xna框架有许多读取各种xnb文件的类型读取器对象。一些类型的读取器用于从fbx模型处理的xnb文件,另一些是从2d图像文件处理的xnb文件等。

当您调用content.Load<T>(xnb file name)时,内容管理器使用适当的阅读器将xnb文件的字节信息读入相应的Xna类。 xnb文件中的字节信息旨在用于特定的Xna类,而不是其他类。地铁中没有Xna课程。

所有这些都说明在城域环境中没有读取这些xnb文件的类型读者。你必须自己写。虽然这并不难,这与我所做的相似。我现在通过构建一个Xna项目将fbx文件处理成xnb,然后我的xna项目将运行时模型的数据写入我自己的二进制文件,我从我的metro应用程序中读取。但我也可以简单地阅读xnb。我只需要研究contentManager的&amp;模型类'类型读取器,以查看字节信息的分布方式。

毕竟说完了,这只意味着我不需要学习FBXSDK,这将是引入模型信息的标准方式(并且可以说是首选方式)。

编辑 - 抱歉,没有提到单声道框架的使用。我对此一无所知......也许他们确实有一种导入xnb文件的方法。

答案 2 :(得分:0)

您是否在develop3D分支机构?我认为您需要添加一个虚拟内容项目并将其添加到该项目,而不是您的资产,首先构建该项目,然后您需要在MonoGame项目中引用该项目。

昨天我没有成功,因为我正在使用当前的马厩,但MonoGame的一个人告诉我昨天这样做。以下是一些说明:

https://github.com/mono/MonoGame/wiki/MonoGame-Content-Processing

答案 3 :(得分:0)

在MonoGame中,内容管道不存在,至少现在已关闭。

非常容易。 1)在VS2010中创建一个xna项目 2)在那里添加所有资产。 3)重建你的项目。转到bin / x86 / debug / content并从那里复制所有内容

现在转到你的VS2012 Mono Project bin / x86 / debug寻找内容文件夹,如果它在那里复制了所有内容,那么创建一个内容文件夹并复制那里的所有内容。

现在,即使只更改单行代码也只需运行您的项目,您就会发现一切运行良好!!!

如果您发现任何困难,请告诉我。