【发布时间】:2011-06-18 20:39:59
【问题描述】:
通常,当使用 XNA 的内容管道加载内容时,已编译的 .xnb 文件使用可在 Visual Studio GUI 中定义的指定“资产名称”访问。默认情况下,此名称与内容的文件名无扩展名相同。因此,您通常无法加载名称仅在扩展名上有所不同的两个文件,因为生成的 .xnb 文件将具有冲突的名称。如果您手动更改这些文件之一的资产名称,则生成的 .xnb 文件不再冲突。
对于我正在编写的关卡加载系统,我希望能够从两个具有相同名称(level1.png 和 level1.col)的单独文件中加载纹理数据和碰撞数据,其中碰撞数据很简单一个文本文件。我已经编写了一个自定义内容处理器来使用内容管道加载碰撞数据。
似乎无法直接在普通游戏代码中修改资产名称,但我无法确定是否可以在自定义内容处理器中完成。这可能吗?还是我必须手动修改所有资产名称才能做到这一点?
我会在 App Hub 论坛上问这个问题,但我很难在不注册(并提供信用卡信息)开发人员包的情况下登录该站点。我目前正在将 XNA 用于 Windows 平台游戏,目前对开发 X360 没有兴趣。
【问题讨论】:
-
我怀疑你不能,但我不确定。然而:简单地给他们不同的文件和资产名称(也许在
.col文件中指定纹理名称?)而不是编写棘手的内容管道代码似乎更实用。 -
只输出不同的文件名会比较简单。我更希望让这个工作只是为了让多个文件在文件系统上看起来更干净。这也是一个了解更多关于管道可以做什么的机会。哦,好吧。
标签: c# visual-studio-2010 xna xna-4.0