在XNA 4.0中使用XML文件

时间:2012-01-09 11:21:53

标签: xml xna-4.0

我在XNA 4.0中制作了一个应该模拟装配线流程的程序。代表装配线的模型非常简单,它包含5个“检查点” - 开始,结束和3个工作站 - 表示某些传感器放置在现实生活模型上的位置。当对象在这些检查点前面通过时,应触发某种方法(如“开始”,“停止”或“计数”)。我设法通过硬编码这些“检查点”的坐标来实现这一点(因为这些“检查点”位置不会改变,不需要一些高级碰撞检测),并在需要时触发适当的方法。现在,我想做一些额外的可能性,使我的程序更灵活。我希望能够启用/禁用这些“检查点” - 启用时,传递的对象将触发绑定到相应“检查点”的方法,并且当禁用时,对象将通过而不会触发任何方法(通过“I” ,我的意思是程序员,而不是用户,用户不应该能够更改任何“检查点”的任何属性。我做了一些研究,我认为最好的方法是使用一个XML文件,其中包含有关每个“检查点”的信息。我有几个问题 - 首先,我从未使用从XML文件加载到XNA程序,所以如果你可以指向我的一些教程或以前的帖子覆盖这个(我不知道它是否有任何区别,但文件将被标准化 - 它们将具有相同数量的标签,包含相同数量的信息),其次,这是解决此问题的正确方法,或者您对如何执行此操作有一些建议。该应用程序仅用于PC,因此我不必考虑跨平台限制。 感谢

1 个答案:

答案 0 :(得分:0)

这是一篇关于使用内容管道从xml加载对象的博文:

http://www.jamesewelch.com/2008/04/17/how-to-use-xnacontent-xml-files/

您可以创建一个“设置”类或其他内容来保存数据,或者只使用List<Checkpoint>。在XNAContent中,列表的定义如下:

<Asset Type="System.Collections.Generic.List<*YourNamespaceNameHere*.Checkpoint>">

    <Item>
        Put your data here
    </Item>
    <Item>...

</Asset>

编辑:这是一步一步的说明:

  1. 创建内容管道扩展项目

  2. 创建新的类库项目

  3. 在Windows Game项目中添加对类库的引用

  4. 在内容项目

  5. 中添加对内容管道扩展项目的引用
  6. 按照给出的教程(游戏库类意味着您之前创建的类库,或游戏项目本身。最好使用类库。)