Данный урок находится на официальном сайте по ссылке: http://www.clickteam.com/dialog-tutorial.html
Автор: Adam Gledhil
Этот урок покажет вам один из способов создания текстового диалога в Clickteam Fusion 2.5 (далее CF). Есть много разных способов для реализации диалога в программе, но мы будем больше ориентироваться на использование INI файла.
Часть 1. Настройка текста и создание печатающего эффекта
Первое, что мы сделаем, это создадим классический диалог, который очень часто можно встретить в диалоговых и RPG играх. На экране появляется текст посимвольно, словно печатается на печатной машинке.
Это очень легко сделать. Все, что нам потребуется, это 2 строковых объекта и 1 событие. Другими словами на фрейме нам нужно будет разместить 2 объекта String, и прописать между ними одно Event событие.
Для начала создадим объект String на фрейме. Найти этот объект вы сможете через Insert Object (Ctrl + J), в разделе Text.
После создания, измените его размер как вам будет угодно, а затем клонируйте его, чтобы сделать другой. После данной операции, мы получим второй объект String с теми же размерами.
Переименуйте первый объект String - "temp dialogue", а второй назовите просто "dialogue".
"temp dialogue" будет использоваться хранения текста, который будет произносить наш персонаж. Однако сам вывод текста будет осуществляться, через второй объект "dialogue". Поэтому первый объект должен быть перемещен за пределы фрейма или иметь скрытые свойства, чтобы его не было видно во время игры.
Нам осталось ввести текст в "temp dialogue", двойным щелчком нажмите на него и введите текст "Здравствуйте, меня зовут Адам!".
Далее мы создадим событие, чтобы посимвольно вывести текст из "temp dialogue" в "dialogue". Для этого перейдём в Event Edition.
Далее в Event Edition нажмём на строку 1, щелкните правой кнопкой мыши на событие "the timer" и выберем свойство "Every" из меню. Иными словами, мы должны запрограммировать событие которые будут совершаться каждый момент времени. В данный случае это нужно, что бы программа знала когда выводить символы.
Давайте теперь запрограммирует вывод текста с интервалом в 5 миллисекунд.
Отлично, теперь тут же нажмём правой кнопкой мыши на объект "dialogue", и выберем из меню пункт "Change alterable string".
Вот наша формула, введём её в редактор:
Left$(string$("temp dialogue"), Len(string$("dialogue"))+1)
Ещё раз рассмотрим, что мы имеем: Каждые 5 миллисекунд происходит посимвольный набор текста в объект "dialogue", источником которого является содержимое объекта "temp dialogue". Формула описанная выше вычисляет длину текста, после чего начинается печать символов слева направо.
При желании можно отрегулировать параметры "Every", в том случае если вам набор текста кажется слишком быстрым, или слишком медленным.
Не забудьте сохранить результат, он нам пригодится для следующего урока. Теперь, когда мы рассмотрели основы, рассмотрим как сохранить диалог не в строковом объекте, а в отдельном ini-файле.