将外部数据加载到XNA4.0游戏中的“建议”方法是什么?

问题描述

| 我目前正在开发注定要提交给XBLIG的游戏。 我的问题很简单,我想知道哪种方法是通过外部XML文件加载数据的“建议”方式。 我至少需要在PC上进行开发,以便游戏设计人员可以不用重新构建游戏玩法变量。 在xna3.1中,我使用了xna4.0不再存在的IntermediateSerializer。 我可能会创建一个内容管道扩展以进行运输,除非当然有人可以提出一个在PC和XBox上都可以使用的惊人答案! :D 谢谢,     

解决方法

好吧,首先,
IntermediateSerializer
确实存在于XNA 4.0中! 但是,XNA 4.0从针对.NET 2.0框架变为针对.NET 4.0框架,这有两种。 XNA运行时程序集以紧凑框架为目标,而内容管道程序集以完整框架为目标。您将需要进入项目属性并更改目标框架以允许使用
IntermediateSerializer
。 此外,内容管道在Xbox 360上不可用,在没有安装完整XNA Game Studio的Windows上也不可用。这意味着在Xbox 360上运行或在Windows上分发时(适用于XNA 3.1和4.0),不能使用ѭ2。 因此,如果要在运行时使用它,则在开发过程中,解决方案是为项目中的Windows添加特定的构建目标。给它一个预处理器定义,用于
#ifdef DEVELOPMENT
来包装代码,使目标(更庞大)的完整.NET 4.0 Framework,并向
Microsoft.Xna.Framework.Content.Pipeline
添加一个程序集引用(ѭ0所在的位置)。 (我将把确定条件框架的目标和程序集引用作为研究对象,我很确定-我很确定它需要手动编辑项目文件。或者您可以并行创建和维护新的项目文件。) 所以剩下的就是在发行版中没有
IntermediateSerializer
的情况下该怎么做的问题。 这非常简单:您可以将XML文件拖到内容项目中。默认的内容管道XML导入器将使用您的XML,并通过
IntermediateSerializer
运行它,创建一个
XNB
文件。然后,您可以通过ѭ9在运行时将该文件作为内容加载。 (也可以看看) (建议不要(在加载时)正常使用此方法,而应在加载代码中使用很多条件,然后仅对“重新加载XML”代码路径使用
IntermediateSerializer
方法。)     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...