Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 29.05.2018, 17:08
Appleman вне форума Посмотреть профиль Отправить личное сообщение для Appleman Найти все сообщения от Appleman
  № 1  
Ответить с цитированием
Appleman
 
Аватар для Appleman

Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 483
По умолчанию реализация инвентаря и экипировки персонажа

Други! Я наконец добрался до практической реализации инвентаря для своей игрухи. Даже скорее не просто инвентаря, а инвентаря экипируемого. Просьба посмотреть и покритиковать то, что по итогу придумалось. Опирался я на вот эту схему от caseyryan и вообще последние 3 страницы обсуждения в той ветке. Говорю я сейчас исключительно о Модели.

1. Точно выбрал подход с отдельным деревом классов для предметов, где на вершине будет Item, а все остальные - расширяют его. Таким образом, для экипируемых предметов будет подкласс типа Equipment.
2. От исходной идеи сделать разметку точек экипировки персонажа с жёсткой привязкой типа помещаемых туда наследников Item:
Код AS3:
// В классе персонажа
private var _pants: Pants; // слот для штанов 
private var _coat: Coat; // слот для курток
пришлось отказаться. Ведь стоит только попытаться надеть комбинезон и всё "ляжет"
3. Вместо этого предусмотреть в каждом предмете класса Equipment вектор идентификаторов мест, куда надевать. Тут будут мои любимые строковые ID. Например: ["head"] для шапок или ["torso", "legs"] для комбинезона.
4. В классе персонажа завести массив или вектор, принимающий наследников Equipment, куда будет помещаться всё "надетое". Метод equip(equipItem: Equipment) будет проверять, нет ли в массиве экземпляров с совпадающими ID и при необходимости удалять имеющиеся.

Вроде всё красиво. Смущает пока только тот факт, что самого перечня доступных точек экипировки (руки/ноги/голова/торс) в таком подходе вообще нигде не зафиксировано. Он по факту будет складываться из суммарного перечня ID "надетых" (т.е. добавленных в массив) шмоток. Нормально ли это? И где мне такой подход может аукнуться?

Буду признателен за комментарии, особенно со стороны игроделов.
__________________
Не сломано - не чини!

Создать новую тему   Часовой пояс GMT +4, время: 05:23.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 05:23.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.