воскресенье, 23 июня 2019 г.

Руководство по Fungus. Система разговоров

Команды Say и Portrait являются мощным способом построения диалога между персонажами, но может быть утомительно добавлять большое количество диалогов таким образом.
Система разговоров(Conversation system) предоставляет упрощенный формат, который позволяет быстро контролировать:
  • Какой персонаж говорит
  • Какое портретное изображение использовать (в  Say Dialog или в Stage portrait)
  • В какую позицию на сцене перейти персонажу (если используется Stage)
  • Когда скрывать персонажа
Чтобы создать беседу, добавьте Команду Conversation (Narrative > Conversation) к Блоку и введите текст беседы.

Пример.


Джон скучно слева: "О, так вот как вы используете команду Conversation".
Шерлок, закатывая глаза, справа: "Да, Джон, молодец. Ты быстро понял, не так ли?"
Спрятать Джона "за кадром слева": "Я уверен, что да".
- Это комментарий, он не появляется в разговоре
Джон сердитый посредине: "Подожди, что!"
Слева: "Не надо быть грубым Шерлоком!"
Скучно: "Не так, как это остановит вас".
Шерлок взволновано: "Ага! Так вот как ты ведешь разговор с Луа! Очаровательно".
Джон <<<: Да, захватывающе".
Джон скрывается:
Шерлок скрывается:

Формат

Формат текста разговора:
[character] [portrait] [position] [hide] [<<< | >>>] [clear | noclear] [wait | nowait] [fade | nofade]: [Dialogue text]

  • character: имя игрового объекта или имя Name Text значение говорящего персонажа.
  • portrait: имя спрайта в списке Портретов(Portraits list) персонажа.
  • position: имя объекта позиции в Stage (например, Left, Middle, Right, Offscreen Left, Offscreen Right)
  • hide: скрывает персонажа
  • <<<: лицо портрета слева
  • >>>: лицо портрета справа
  • clear | noclear: переопределить значение ClearPreviousLine по умолчанию с true на clear или с false с noclear
  • wait | nowait: переопределить значение по умолчанию WaitForInput с true при wait или с false с nowait
  • fade | nofade: переопределить значение по умолчанию FadeDone с true на fade или с false с nofade. Это редко требуется, поскольку в любом случае это действительно имеет значение в последнем слове разговора.
Параметры идут слева от двоеточия, а текст диалога - справа. Вы можете опустить любой параметр и указать их в любом порядке. Параметры разделены пробелами. Если вам нужно использовать имя, которое содержит пробелы, заключите его в кавычки, например, "Джон Ватсон". Параметры нечувствительны к регистру. Пустые строки и строки комментариев, начинающиеся с - игнорируются. Сама строка диалогового текста будет рассказана самым последним персонажем. Вы можете пропустить текст диалога, но помните, что вам все равно нужно добавить: персонаж в конце строки.

Подстановка Строк

Вы можете использовать обычный синтаксис подстановки строк {$ VarName} в любом месте текста беседы. Например, если у вас есть строковая переменная Блок-Схемы с именем PlayerName, вы можете встроить это в разговор следующим образом:
Джон: Привет, {$ PlayerName}.

Локализация

Вы можете использовать вышеописанную функцию подстановки строк с таблицей строк Lua, чтобы локализовать диалог для нескольких языков..
Система Conversation не работает с компонентом Localization в Fungus, потому что синтаксис затрудняет локализацию таким образом.

Lua

Система Разговора(Conversation) также может быть реализована в Lua.

Комментариев нет:

Отправить комментарий

Примечание. Отправлять комментарии могут только участники этого блога.