День 12. Инвентарь и предметы
Сегодня сделаю инвентарь.
Чтобы механика не была абстрактной, сразу завяжу её с сюжетом. Попробуем положить где-то предмет, поднять его, положить в инвентарь, а затем используем его где-нибудь, и чтобы это ещё и что-то меняло. По-моему, звучит интересно.
Я решил объединить сегодняшнюю тему с небольшим багом у Лены. Да и вообще она ещё слабо проработана. Предметом я выбрал цветы, а объектом, на котором можно их применить, — Лену. Это сделает её немного добрее и даже поменяет настроение. Но обо всём по порядку.
Начал я с самой Лены. У меня было только одно её изображение, поэтому я подготовил ещё два. Она немного поменялась, но это не страшно.
Теперь, когда у нас есть три Лены — нормальная, весёлая и злая, — мы можем вырезать их и отправить злиться в домик с грязным номером.
Реализуем инвентарь
Если просто, то он делается вот таким образом:
К нему нужна иконка. Пока взял стоковую 64×64 px. Это пока не так важно. Важнее, чтобы всё работало.
Добавляем предмет
Теперь, когда у нас есть инвентарь, нужен предмет. Это букет, и он будет лежать возле памятника девушки с веслом.
Для начала я вырезал из фотографии букет и сделал PNG-файл 64×64, чтобы в инвентаре все предметы смотрелись одного размера. Поэтому выбрал квадрат 64×64 px.
Дальше всё просто. Делаем одно изображение статуи с букетом…
…и одно — без него.
Теперь прописываем взаимодействие с букетом. По сути, его можно взять или не брать.
Пример кода:
Выглядит инвентарь пока так себе. Важнее, что он вообще хоть как-то выглядит. Дальше поправим.
Взаимодействие с Леной
И теперь пишем код взаимодействия с Леной. Логика следующая:
Мы заходим в домик — она злая.
Можем подарить букет, можем не дарить.
Если дарим — она меняет эмоцию и реплику (прямо в моменте).
Когда заходим снова — она уже нормальная.
Пример кода:
Что пошло не так
Из сложного — помучился с мелкой логикой:
Сначала Лена не хотела радоваться сразу, только после выхода и возвращения.
Потом начала накладываться: новая, весёлая Лена появлялась, а старая не исчезала.
Под конец она не хотела становиться нормальной после возвращения — всё время была какой-то весёлой.
В итоге всё поправил и сделал короткий ролик, посвящённый только этой механике.
Спасибо за просмотр.










Лига Разработчиков Видеоигр
9.9K постов23.4K подписчиков
Правила сообщества
ОБЩИЕ ПРАВИЛА:
- Уважайте чужой труд и используйте конструктивную критику
- Не занимайтесь саморекламой, пишите качественные и интересные посты
- Никакой политики
СТОИТ ПУБЛИКОВАТЬ:
- Посты о Вашей игре с историей её разработки и описанием полученного опыта
- Обучающие материалы, туториалы
- Интервью с опытными разработчиками
- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе
НЕ СТОИТ ПУБЛИКОВАТЬ:
- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры
- Посты, единственная цель которых - набор команды для разработки игры
- Посты, не относящиеся к тематике сообщества
Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.
ЗАПРЕЩЕНО:
- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции
- Выдавать чужой труд за свой
Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.
О РАЗМЕЩЕНИИ ССЫЛОК:
Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:
- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества
- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз
- Cсылка размещается в формате: "Страница игры в Steam: URL"