Перейти к содержимому


Внимание!

Это форум по извлечению ресурсов из игр: музыки, звуков, текстур, 3D-моделей...
Перед поиском ответов на форуме, рекомендуется ознакомиться с основным сайтом EXTRACTOR.ru!
[ Прочтите внимательно - правила создания тем и ответа в них ]
Все вопросы по запуску игр задавайте в другом месте: Установка и запуск игр.


Фотография

Инвентарь и персонаж


  • Авторизуйтесь для ответа в теме
В теме одно сообщение

#1 Zakfern

Zakfern

    Рядовой

  • Пользователи
  • 1 сообщений

Отправлено 25 February 2007 - 17:09

Добрый день)

Я новичок в создании игр, и мне интересно, как реализован инвентарь в игре и его взаимодействие с игроком. Является ли инвентарь отдельной структурой или это часть структуры игрока, как реализоваты "слоты" инвентаря, как индексируются вещи в инвентаре и т.д.

Если можно, то хотелось бы увидеть статью от Terminus'а (очень понравилась статья про сетевой взаимодействие, хотелось бы так же подробно).

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

#2 Terminus

Terminus

    Генерал-майор

  • Администраторы
  • 1969 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 28 February 2007 - 17:07

Статья - это вряд ли smile.gif. Просто потому, что крайне мало времени. Но на вопросы попробую ответить...

Поскольку в игре все на классах, то и инвентарь - тоже класс. А инвентарь игрока - это экземпляр класса, оформленный в виде свойства класса игрока smile.gif
Предметы хранятся в TList. Слоты - двумерная матрица 6x42. Т.е. потенциально в инвентаре может быть не более 252 предметов. Каждый слот хранит в себе ссылку (Pointer) на экземпляр предмета в TList. Позиция каждого элемента в инвентаре для экономим места описывается одним байтом по очевидной формуле y*6+x. Нехитрыми манипуляциями получаем положение в матрице.

Инвентарь реализован отдельным классом, т.к. инвентарь игрока - это частный случай. Есть так же "инвентарь магазина". А вот "инвентарь хранилища" физически является свойством, опять же, игрока. Когда поднимаем предметы из окошка "земли", то видим "инвентарь мешка". Окошко обмена между игроками тоже состоит из двух инвентарей: место для наших вещей и вещей того, с кем обмениваемся. В общем, использование инвентаря широко.

Вроде все smile.gif