Понедельник, 15 Июля 2024, 12:14

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Диалоги с ветвлениями
darkduelistДата: Среда, 12 Февраля 2014, 14:25 | Сообщение # 1
частый гость
Сейчас нет на сайте
Добрый день! Что бы не изобретать велосипед, хочу узнать как вы делаете диалоги с ветвлениями?
Я не прошу кода, его я и сам напишу... Мне бы понять принцип...
П.С. Все что мне пришло в голову создать огромный case...


-l33t-h4xx-Дата: Среда, 12 Февраля 2014, 14:41 | Сообщение # 2
участник
Сейчас нет на сайте
Я это делаю (не в Юнити, правда), привязывая к выбору варианта ответа функцию, которая очищает диалоговое окно от всех объектов (текста и кнопок) и рисует вместо них новые в зависимости от того, что пользователь выбирает. Каждый экран, создаваемый таким образом, описывается одной из структур данных, определённых где-то в стороне, чтобы их было легко редактировать.

Городить кейсы в любом случае не стоит.


Как правильно задавать вопросы
AevienДата: Среда, 12 Февраля 2014, 14:53 | Сообщение # 3
почти ветеран
Сейчас нет на сайте
Можно сохранить в XMLах и загружать и обрабатывать
castielblackДата: Среда, 12 Февраля 2014, 15:08 | Сообщение # 4
почетный гость
Сейчас нет на сайте
Раньше надо было, там чувак бесплатно отдавал первые 2-3 дня очешуенную систему диалогов.
Вот.
А я успел tongue tongue


Знания : C#, Lua, C++, Unity, Dreemchest, DirectX 11
Выпущенные проекты : BuildAndRun, Match 3 Cubes
darkduelistДата: Среда, 12 Февраля 2014, 15:21 | Сообщение # 5
частый гость
Сейчас нет на сайте
Цитата -l33t-h4xx- ()
Я это делаю (не в Юнити, правда), привязывая к выбору варианта ответа функцию, которая очищает диалоговое окно от всех объектов (текста и кнопок) и рисует вместо них новые в зависимости от того, что пользователь выбирает. Каждый экран, создаваемый таким образом, описывается одной из структур данных, определённых где-то в стороне, чтобы их было легко редактировать.

И у тебя получается огромное количество функций в скрипте?
Цитата Aevien ()
Можно сохранить в XMLах и загружать и обрабатывать

Текст хранить я буду в CSV...

Добавлено (12.02.2014, 15:21)
---------------------------------------------
castielblack, мне интересней самому сделать... Я лишь хочу услышать еще варианты, помимо того что сам накропал...


KamiRoninДата: Среда, 12 Февраля 2014, 21:04 | Сообщение # 6
почти ветеран
Сейчас нет на сайте
Цитата castielblack ()
Вот.
А я успел

есть бесплатная и так

Цитата darkduelist ()
мне интересней самому сделать... Я лишь хочу услышать еще варианты, помимо того что сам накропал...

респект за такое желание smile

я как то писал систему диалогов в классах для себя.. исходники не сохранились (не могу найти smile ), но принцип был простой:
1. создавался пул объектов содержащих Лист класса в котором было: фраза; ID этого нода; список вариантов ответа (мог быть пустым - это значило что это не селективный нод диалога, а "обычный") в формате -- текст варианта, ID нода для перехода; ID следующего нода если не выбран никакой вариант или это обычный нод; имя говорящего (там была ссылка на другой класс, но это сейчас не важно).
2. обработчик нодов был очень простой - модель сама себя разруливает.
3. пул этих объектов сохранялся в префаб со всеми данными и потом спокойно использовался в работе сцены.
время на забивание базы диалогов требовалось большое, загрузку из внешних данных я делать не стал, т.к. у меня было меньше 50 нодов всего. но думаю загрузку из чего удобно - сделать не было бы проблемой при загрузке уровня.

код вышел почти микроскопическим и система отрабатывала как часы.. я даже интерес тогда потерял к этому.. думал сложности будут! smile

как то так.


Мыслю - значит программирую...
Конструктивная критика - умных ведет к совершенству...
Великие умы обсуждают идеи, средние - обсуждают поступки, а малые - людей.


Сообщение отредактировал KamiRonin - Среда, 12 Февраля 2014, 21:05
darkduelistДата: Среда, 12 Февраля 2014, 22:23 | Сообщение # 7
частый гость
Сейчас нет на сайте
Цитата KamiRonin ()
респект за такое желание

У меня плохо получается чужое прикручивать и переделывать...

KamiRonin, спасибо за подсказку biggrin


nwsxДата: Четверг, 13 Февраля 2014, 01:28 | Сообщение # 8
постоянный участник
Сейчас нет на сайте
Цитата castielblack ()
Раньше надо было, там чувак бесплатно отдавал первые 2-3 дня очешуенную систему диалогов.
Вот.
есть там недочёт один, нету возможности задать условие доступности одного из ответов.
например, в старом фалауте, наличие ответов зависело от характеристик игрока, пройденных квестов и различных событий.
и нельзя вставлять переменные в эти самые ответы.

в этом ассете/плагине, такое можно сделать, разве что пихая в ответы игрока самопальные теги/спецсимволы, которые потом можно будет самостоятельно расковыривать : D (так я и сделаю йопта ахахахаха)


Westboro
Dungeon Journey на Google Play


Сообщение отредактировал nwsx - Четверг, 13 Февраля 2014, 01:28
darkduelistДата: Пятница, 14 Февраля 2014, 13:03 | Сообщение # 9
частый гость
Сейчас нет на сайте
Цитата nwsx ()
в этом ассете/плагине, такое можно сделать, разве что пихая в ответы игрока самопальные теги/спецсимволы, которые потом можно будет самостоятельно расковыривать

Это костыль...

П.С. Почему меня вчера на форум непускали?


nwsxДата: Пятница, 14 Февраля 2014, 13:16 | Сообщение # 10
постоянный участник
Сейчас нет на сайте
у всех не работало. это не костыль, это шестерёнка

Westboro
Dungeon Journey на Google Play


Сообщение отредактировал nwsx - Пятница, 14 Февраля 2014, 13:17
darkduelistДата: Суббота, 01 Марта 2014, 22:49 | Сообщение # 11
частый гость
Сейчас нет на сайте
Тупость, но я в ней увяз... Накатал вроде(проверить не могу) что то вроде системы, но я ее запустить не могу т.к. что бы ее активировать надо подойти к нпс и нажать кнопку взаимодействия. Игра у меня 2Д с видом сверху, думал через луч, но он не возвращает ссылку на объект... Подскажите как быть?

Добавлено (22.02.2014, 22:46)
---------------------------------------------
Выкрутился! Сделал дополнительный колайдер и через него все робит =)

Добавлено (01.03.2014, 22:49)
---------------------------------------------
Белиберда получается... У меня есть файл диалогов формата CSV, столбцы - Id, Text, Choice, ChoiceId. Данные загружаются при старте и читается построчно с перескоками на вариантах. Как мне реализовать варианты вывода тех или иных вариантов от условия?
Например:
Если переключатель А в положении False, не выводить один из вариантов.




Сообщение отредактировал darkduelist - Суббота, 01 Марта 2014, 22:57
berilДата: Среда, 05 Марта 2014, 21:19 | Сообщение # 12
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
Посмотри этот ассет



Накодил? Убери за собой!
Инвентарь в Unity(UI)
Инвентарь в Unity(GUI)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг