【问题标题】:C#/XNA Content Creation tool - Procedurally adding content referencesC#/XNA 内容创建工具 - 以程序方式添加内容引用
【发布时间】:2012-12-08 09:43:10
【问题描述】:

我现在正在为一个项目开发游戏引擎,而我是唯一的程序员。鉴于我的艺术家和设计师对 Visual Studio 或 XNA 的怪癖不是很熟悉,我正在为他们组合一个工具来添加动画、创建关卡等。当然,其中大部分都相当简单。标准代码生成、图像查看等。但是,我不确定如何将新的 Texture2D 添加到项目的内容引用中。

有没有我可以调用的某种方法来获取文件位置并将其引用添加到 XNA 后端?还是我需要手动查看,找到所有各种硬编码的引用,然后自己完成工作?

【问题讨论】:

  • XNA WinForms 2 Sample 可能值得一看。还要注意关于安装 Visual Studio 的描述中的“注释”。

标签: c# xna


【解决方案1】:

没有任何方法可以将资源添加到您的项目内容引用中。如果您愿意,您必须编辑维护附加资源列表的 .csproj 项目文件。然而,这是一个非常丑陋的 hack,所以我不建议你这样做。

最好的办法是在运行时使用 microsoft.xna.framework.content.pipeline 编译您的资源。而不是将它们添加到您的内容项目中。

有关如何使用内容管道在运行时编译资源的更多信息,请参阅http://msdn.microsoft.com/en-us/library/bb447745%28v=XNAGameStudio.40%29.aspx

此示例显示了如何执行此操作: http://xbox.create.msdn.com/en-US/education/catalog/sample/winforms_series_2

【讨论】:

    【解决方案2】:

    您可以像这样编辑 contentproj 并在右侧 ItemGroup 中添加行

    <Compile Include="..\Assets\**\*.png"/>
    <Compile Include="..\Assets\**\*.jpg"/>
    

    这将在构建时递归地将所有与描述匹配的文件包含到项目中。请注意,您也可以添加特定文件夹以进行查看。例如:

    <Compile Include="..\Assets\textures\*.png"/>
    

    将包含“..\Assets\textures”目录中的所有 PNG。

    【讨论】:

      猜你喜欢
      • 2013-01-21
      • 1970-01-01
      • 1970-01-01
      • 2012-01-02
      • 2014-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多