|
1 / 1 / 0
Регистрация: 13.12.2012
Сообщений: 102
|
||||||||||||||||
Как задавать свойства предметов в инвентаре и передавать их персонажу?17.09.2014, 11:51. Показов 1146. Ответов 6
Метки нет (Все метки)
Добрый день! Продолжаю работу над созданием инвентаря к игре. Реализовал базовый инвентарь, который состоит из слотов, в которые помещаются базовые предметы. Реализовал удаление, добавление, замену, drag-and-drop и пр.
Я реализовал класс инвентаря-сумки и инвентаря-надетых вещей. Между ними реализованы все операции. Теперь думаю над тем, как наделить каждый предмет так сказать индивидуальностью. Есть базовый класс Item. Каждый предмет имеет свойства
Более важный для меня вопрос состоит в том, как предмет должен передавать свои свойства игровому персонажу при надевании. Например, персонаж обладает рядом характеристик: жизнь, броня, урон, крит, уворот и пр. Я надеваю на него броню, которая обладает характеристиками: жизнь, броня. При надевании как-то должны измениться характеристики персонажа. Я могу, конечно сделать что-то вроде персонаж.setHP(armorHP) и т.д. для каждой из характеристик. А если у всех предметов разные характеристики? Например, один щит повышает только здоровье, а другой повышает броню и уворот. Как это реализовывать? Я плохо представляю себе как реализовать класс персонажа и надевание на него предметов. Сами надетые предметы находятся в классе инвентаря-надетых вещей. Резюмирую: 1. Как наделить каждый предмет индивидуальностью? Нужно создавать для каждого предмета свой класс? 2. А если предметов сотни? У меня возникала идея воспользоваться декоратором. Правда, не знаю что из этого выйдет. 3. Или же каждому предмету задавать полный набор характеристик: жизнь, броня, урон, крит, уворот, и если предмет добавляет только броню, то остальные приравнять нулю. 4. Как собственно создать класс персонажа, чтобы в нем была информация пусты ли слоты инвентаря-надетых вещей, и чтобы добавлять характеристики надетых вещей. 5. Есть ли у кого-нить рабочий пример? Гуглил по-русски - не нашел ничего. А на англоязычных искать не получается. Если кто готов поделиться своими разработками (хотя бы в личку), то я буду очень признателен. Хочется просто увидеть, как это делается у грамотных людей. Хотя бы какие-то базовые вещи. Добавлено через 24 минуты Впрочем, 6. как инициализировать предмет по конкретному itemID? Откуда грузить? Хранить в БД таблицу всех предметов? Как хранить характеристики предметов?
0
|
||||||||||||||||
| 17.09.2014, 11:51 | |
|
Ответы с готовыми решениями:
6
Вращение предметов в инвентаре Скрипт, которым можно задавать свойства печати.
|
|
254 / 238 / 50
Регистрация: 20.12.2011
Сообщений: 707
|
||||||||||||||||
| 17.09.2014, 12:42 | ||||||||||||||||
|
В классе Character будет массив одетых предметов, например
В массиве equipped будет лежать ссылка на экземпляр класса, а экземпляр класса по своей сути индивидуален.
1
|
||||||||||||||||
|
1 / 1 / 0
Регистрация: 13.12.2012
Сообщений: 102
|
|||
| 17.09.2014, 13:14 [ТС] | |||
|
Theoryofgames, спасибо за общую схему. Однако, остались вопросы
0
|
|||
|
254 / 238 / 50
Регистрация: 20.12.2011
Сообщений: 707
|
|||||||||||||||||||||||||
| 17.09.2014, 14:29 | |||||||||||||||||||||||||
хранить можно примерно в след виде:
0
|
|||||||||||||||||||||||||
|
1 / 1 / 0
Регистрация: 13.12.2012
Сообщений: 102
|
|||||||||||||
| 17.09.2014, 16:29 [ТС] | |||||||||||||
0
|
|||||||||||||
|
254 / 238 / 50
Регистрация: 20.12.2011
Сообщений: 707
|
||||||||||||
| 17.09.2014, 18:06 | ||||||||||||
|
var data
0
|
||||||||||||
|
Модератор
2936 / 1795 / 180
Регистрация: 19.02.2011
Сообщений: 6,552
|
||
| 17.09.2014, 21:54 | ||
|
0
|
||
| 17.09.2014, 21:54 | |
|
Помогаю со студенческими работами здесь
7
JTree. Каким образом при добавлении ветки в дерево можно задавать свойства этой ветки Не понимаю как сделать управление персонажу 3D Как удалить объект по тегу не по очереди, а по расстоянию к персонажу?
Известна масса каждого из 12 предметов, определить общую массу всего набора предметов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
|
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|