我只是想知道使用内容编译器与不使用它的优点/缺点是什么。
我更喜欢不编译文件,将它们复制到输出目录,然后使用其他函数而不是“XNA”
Content.Load<>()
函数加载它们。所以我想知道我的方式是否同样有效,或者我是否应该重新使用“XNA”方式。
当我加载东西时,我使用其他功能,例如
Texture2D.FromStream()
除了其他答案之外,内容处理器还会将您的资源制作成 .xnb 文件,该文件是较小文件的二进制形式(因此用户下载游戏的速度更快,并占用了他们的硬盘空间) )并通过 content.Load<>() 方法加载 xnb 文件,它将在游戏中加载得更快。
内容编译器使您的内容跨平台兼容,也就是说,它可以在 XBox360 和 PC 上使用,甚至可以在带有 MonoGame 的 Mac 上使用。
如果您仅针对 PC,则可以坚持使用 .FromStream 选项,尽管这样做没有任何好处,除非您的艺术家能够在不重新编译的情况下交换资源。
除了William的回答(这里是有用的链接)之外,
ContentManager
还将自动处理其加载的所有资源。但是,如果您仅使用一个 ContentManager
,那不会有什么区别(因为您的资源将在游戏终止时被释放)。