在c#表单中使用XNA内容管道

本文关键字:XNA 管道 表单 | 更新日期: 2023-09-27 18:18:24

我正在尝试使用c#表单创建一个游戏编辑器,当涉及到反序列化时,我遇到了一个问题;我不能在表单应用程序中使用内容管道,因为我甚至没有向项目添加任何内容引用的选项。如何在表单应用程序中使用内容管道?是否有其他方法来加载和反序列化XML内容?

在c#表单中使用XNA内容管道

手动编辑.csproj文件,并在包含程序集名称,项目指南等的第一个PropertyGroup部分添加以下内容。

<ProjectTypeGuids>{6D335F3A-9D43-41b4-9D22-F6F17C4BE596};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>

你可能还需要添加

<XnaFrameworkVersion>v4.0</XnaFrameworkVersion>
<XnaPlatform>Windows</XnaPlatform>

在VS中重新加载项目,你应该能够向它添加内容引用。

这里指定的两个guid分别用于Windows和XNA (Windows)。下面是一些常见的项目类型指南(虽然有点过时),如果你需要重新定位项目

看一下Winforms Series 2: Content Loading AppHub示例。

基本上你加载并调用适当的microsoft.xna.framework.content类来读取你编译的xnb文件。

您将使用microsoft.xna.framework.content.pipeline中的名称空间中的类来创建xnb文件(这就是内容项目将为您做的事情)。

查看这里的内容管道概述:什么是内容管道?


是否有另一种方式来加载和反序列化我的XML内容?

是的,使用任何你想要的。net序列化方法,可能是XDocument