База данных для оружия?

1

Я создаю простую игру RPG, и в настоящее время я работаю над объектами оружия. В настоящее время у меня есть класс W_Sword.cs, который имеет все свойства для любого типа оружия меча, которое я хочу создать. Для моей системы инвентаризации я просто собираюсь иметь массив, в котором хранятся целые числа, и каждый номер будет представлять собой идентификатор элемента.

Мой вопрос: если у меня есть несколько классов для всех типов предметов (расходные материалы, мечи, топоры, щиты и т.д.), Как я должен хранить все это как базу данных для легкого доступа? Поэтому, если я хочу нарисовать конкретное оружие, я могу просто вызвать его из базы данных и создать его как объект (на экране, в инвентаре и т.д.). Я думаю, что XML может быть способом, но я, m не уверен, как получить данные из файла XML в мой код XNA для создания объектов и т.д. из определенных элементов в XML.

Пожалуйста, дайте мне знать, если я буду подробно останавливаться.

Теги:
xna
inventory

2 ответа

3
Лучший ответ

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, поэтому я сомневаюсь, что это синтаксически корректно. Если вы хотите получить дополнительную помощь, я могу помочь позже сегодня.

  • 0
    Ах, я вижу, загрузка из файлов XML это так просто? Я давно искал простое руководство по загрузке свойств из XML-файла, такого простого, как этот. Есть ли шанс, что я смогу где-нибудь отправить вам личное сообщение? Я знаю, что на этом сайте нет системы PM.
  • 0
    Я рад, что смог помочь! Было бы лучше, если бы мы продолжали общаться на этом сайте, чтобы другие пользователи могли учиться. Какие еще вопросы у вас есть?
Показать ещё 6 комментариев
0

Вы можете использовать базу данных объектов, которая может сохранять и извлекать объекты для вас. Например, NDatabase И вот небольшой учебник о том, как его использовать

Ещё вопросы

Сообщество Overcoder
Наверх
Меню