有没有办法在执行XNA开发时验证代码是否可以在360上正常工作?
时间:2020-03-06 14:34:47 来源:igfitidea点击:
我正在XNA上开发一款休闲游戏,打算将其部署到Xbox360。我将在几周内无法使用硬件,而且期限迫在眉睫,所以我想测试一下某些内容-Boo和一些自定义库-可以在360上正常工作。如果不能,我需要尽早解决这些问题,因此进行测试非常重要。
有了这些解释,在实际部署到360之前,有没有办法让我进入某种"模拟器"在.NET Compact Framework for 360上运行代码?
解决方案
好了,我们可以尝试为Windows Smartphone编写一个快速应用程序,然后在模拟器中运行它。显然,这不适用于特定于XNA的代码。但是对于Boo或者我们在模拟器上使用的任何运行库,它们都应在Xbox上运行。
对于我们自己编写的XNA代码,只需针对Xbox 360目标进行编译即可。
正如TraumaPony所说。只需将主游戏程序集加载到Visual Studio中并尝试对其进行编译。如果我们尝试引用360附带的组件之外的组件,则不会。
除了确保库可以编译到360之外,我们还需要考虑项目的对象分配配置文件。由于紧凑型框架使用不同的垃圾收集器,因此它对常量分配更加敏感。当进行收集时,它需要遍历整个对象图,而不是桌面收集器如何使用世代。因此,我们将需要确保在运行时期间尽可能少地更新对象:-)
这里的关键是要了解在Xbox 360上只能运行.Net代码,因此我们要使用的任何自定义库都必须是.Net程序集。要了解的第二件事是Xbox正在运行紧凑的框架,因此其中未包含的任何内容将无法正常工作。通过像上面的文章一样为360编译项目,可以很容易地对其进行测试。
老实说,我快速浏览了Boo,但无法确定它内置了什么,因此我不确定它是否可以工作。我也不明白在XNA内使用Boo的意义,但这并不是我们真正要问的。