2012-05-31 38 views
1

我只是想知道有什么优点/ disadvatage是使用内容编译器对不使用它的。XNA Contect,编译或复制

我更喜欢不编译文件,将它们复制到输出目录,然后使用其他函数而不是'XNA'Content.Load<>()函数加载它们。所以我想知道我的方式是否工作得很好,或者我应该回到使用'XNA'的方式。

当我加载的东西,我用其他的功能,如Texture2D.FromStream()

回答

2

除了其他答案之外,内容处理器还会将您的资产变成一个.xnb文件,该文件是一个较小的文件的二进制格式(因此用户的游戏下载速度更快,并且占用了空间其硬潜水)并通过从content.Load <加载XNB文件>()方法,这将在游戏加载更快。

+0

所以我可能会建立一些机构2种不同的负载类型之间进行切换?例如,在开发过程中,使用Texture2D.FromStream和实际的装运游戏使用ContentManager.Load <>? –

+0

“发展中”是什么意思?我知道在开发游戏时使用.FromStream没有任何好处。也许如果开发一个特殊的使用工具或者什么的,但我仍然想不出一个好例子。 –

+0

说,递当您的“游戏”或“引擎”,以完善的设计,让他尝试不同的资产,而无需预编译它们,并具有安装Visual Studio –

2

内容的编译器,使您的内容跨平台兼容的,也就是说,它会在两个XBOX360和PC,甚至与MonoGame Mac的使用。

如果你的目标只是PC,你可以用.FromStream选择坚守,但没有这样做,除了你的艺术家能够交换资源而无需重新编译增益。

+0

很好的回答。你如何弥补各种类型的内容缺少FromStream方法? (或做大部分类型的内容提供的这种方法吗?) –

2

除了William的回答(这里是useful link),ContentManager也会处理自动加载的所有资源。但是,如果您仅使用一个ContentManager,这不会产生差异(因为您的资源将在游戏终止时解除分配)。