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

Xna 如何在Windows 8上的MonoGame中使用.xnb文件?,xna,monogame,Xna,Monogame,我从Windows7上的WindowsPhone项目中得到了一个.xnb文件。我想在Windows 8 Metro应用程序中使用相同的资源。我在Windows 8上安装了MSVS 2012 RC,其中有一个来自MonoGameWindowsMetroApplication模板的项目。我将.xnb文件放在projectassets文件夹中并尝试加载它,但出现异常,告诉我无法加载该资源。我需要什么属性或配置才能使用.xnb文件 运行时Xna框架有许多类型读取器对象,用于读取各种xnb文件。一些类型读

我从Windows7上的WindowsPhone项目中得到了一个.xnb文件。我想在Windows 8 Metro应用程序中使用相同的资源。我在Windows 8上安装了MSVS 2012 RC,其中有一个来自MonoGameWindowsMetroApplication模板的项目。我将.xnb文件放在projectassets文件夹中并尝试加载它,但出现异常,告诉我无法加载该资源。我需要什么属性或配置才能使用.xnb文件

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

调用
content.Load(xnb文件名)
时,内容管理器使用适当的读取器将xnb文件的字节信息读入适当的Xna类。xnb文件中的字节信息设计用于特定的Xna类,而不是其他类。metro中没有Xna类

所有这些都表明metro环境中没有读取这些xnb文件的类型读取器。你必须自己写。这并不难,这和我做的很相似。现在,我通过构建一个Xna项目将一个fbx文件处理到xnb中,然后我的Xna项目将运行时模型的数据写入我自己的二进制文件,我从我的metro应用程序读取该文件。但我也可以简单地阅读xnb。我只需要研究contentManager和Model类的类型读取器,看看字节信息是如何分布的

说到底,这只是意味着我不必学习FBXSDK,这将是引入模型信息的标准方式(也可以说是首选方式)


编辑-抱歉,没有提供mono框架的使用线索。我对此一无所知。。。也许他们确实有办法导入xnb文件。

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

昨天我没有成功,因为我使用的是当前的稳定,但是昨天一个MonoGame的家伙告诉我这样做。以下是一些说明:


单游戏内容管道中不存在,至少现在是关闭的

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

现在转到VS2012 Mono项目bin/x86/debug look for content文件夹,如果它在那里,请将所有内容复制到那里,否则请创建一个内容文件夹并将所有内容复制到那里

现在,即使是一行代码也不需要更改,只要运行您的项目,您就会发现一切都很好


如果您在这方面遇到任何困难,请告诉我。

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

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


请参阅此处的信息:

我的印象是,作为MonoGame XNA实现的一部分,它可以读取xnb文件,我只是不知道如何读取。哇!塔拉沃克。在帮助我在Win 8平板电脑上进行单游戏开发方面,您的博客文章非常宝贵。谢谢