我正在创建一个简单的RPG游戏,目前正在研究武器对象。我目前有一个W_Sword.cs类,该类具有我要创建的任何剑类武器的所有属性。对于我的库存系统,我只是要有一个存储整数的数组,每个数字都代表一个项目的ID。
我的问题是,如果我对所有类型的物品(消耗品,剑,斧子,盾牌等)都有多个类,那么应该如何将所有这些物品像数据库中存储以便于访问呢?因此,如果我想绘制一种特定的武器,我可以从数据库中调用它并将其创建为对象(在屏幕上,在清单中等),我认为XML可能是可行的方式,但是我想我不确定如何从XML文件中获取数据到我的XNA代码中,以便根据XML中的特定项目创建对象等。
请让我知道是否需要进一步阐述。
XML是执行此操作的好方法。它将允许您自己甚至最终用户轻松添加新项目。
这些类是从基类派生的吗?我的想法是,如果您有消耗品,剑,斧头,盾牌等继承的基类Item,则可以尝试如下操作:
<?xml version="1.0" encoding="utf-8" ?>
<XnaContent>
<Asset Type="Generic.List<MyDataTypes.Item>">
<Item>
<Name>Wooden Sword</Name>
<Properties>10 10 10 10</Properties>
<TextureName>WoodenSword</TextureName>
</Item>
<Item>
<Name>Wooden Shield</Name>
<Properties>10 10 10 10</Properties>
<TextureName>WoodenShield</TextureName>
</Item>
</Asset>
</XnaContent>
然后在您的代码中:
// Load items into content
//http://msdn.microsoft.com/en-us/library/ff604980.aspx
List<Item> listOfItems = Content.Load<List<Item>>("xmlFileName");
foreach (Item item in listOfItems)
{
myItemTexture = Content.Load<Texture2D>(item.TextureName);
...
}
这是一般概述。我目前不在使用Visual Studio的计算机上,因此我怀疑上述语法是否正确。如果您希望获得更多帮助,今天晚些时候可以为您提供帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句