Найти в Дзене

№108. Пишем свой эффект для RichTextLabel.

В этой небольшой статье создадим свой простенький эффект для текста с нуля. Для начала, тем кто не в курсе наверное стОит напомнить, что в годо в ноде RichTextLabel мы можем использовать так называемые ББ коды (bb code), которые позволяют нам помимо всего прочего, производить над выделенным текстом всякие манипуляции. Сменить цвет, сделать дрожание символов, и так далее. Стандартный набор кодов выглядит вот так : Помимо этого есть еще 5 заранее заготовленных анимаций, информацию о которых вы легко найдете в документации. Мы же будем делать свой собственный эффект. Благо годо нам это позволяет. Создаем сценку, кидаем в неё RichTextLabel, и создаем новый скрипт. Жмем на кнопку в виде дерева папок чтобы выбрать нужный нам класс. И ищем там RichTextEffect Функция которая отрабатывает наш текст называется _process_custom_fx(char_fx). Добавляем её в скрипт, и описываем все трансформации которые мы будем применять к тексту. В нашем случае это смена цвета + синусойда на прозрачность для эффект

В этой небольшой статье создадим свой простенький эффект для текста с нуля.

Для начала, тем кто не в курсе наверное стОит напомнить, что в годо в ноде RichTextLabel мы можем использовать так называемые ББ коды (bb code), которые позволяют нам помимо всего прочего, производить над выделенным текстом всякие манипуляции. Сменить цвет, сделать дрожание символов, и так далее.

Стандартный набор кодов выглядит вот так :

-2

Помимо этого есть еще 5 заранее заготовленных анимаций, информацию о которых вы легко найдете в документации.

Мы же будем делать свой собственный эффект. Благо годо нам это позволяет.

Создаем сценку, кидаем в неё RichTextLabel, и создаем новый скрипт.

-3

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

-4

И ищем там RichTextEffect

-5

Функция которая отрабатывает наш текст называется _process_custom_fx(char_fx). Добавляем её в скрипт, и описываем все трансформации которые мы будем применять к тексту.

список свойств которые мы можем менять
список свойств которые мы можем менять

В нашем случае это смена цвета + синусойда на прозрачность для эффекта мигания.

Ну и три последних штриха , для того чтобы это все заработало — в самой верхней части скрипта пишем слово TOOL, добавляем название нашему классу : «Red_alert», и название ББкода : «RA»

-7

Сохраняем. И возвращаемся в нашу сцену.
В ноде RichTextLabel активируем ббкоды. Настраиваем если нужно шрифт (напоминаю, в стандартном шрифте нет поддержки русского языка), и впишем сразу наш текст с нашим ббкодом.

-8

Осталось подключить наш эффект в массив кастомных еффектов.

-9

Прибавляем единицу, и добавляем наш эффект.

-10

И вуаля. Эффект начал работать !

-11

На этом всё, по традиции удачи в изучении годо !

Надеюсь вам был полезен этот материал.
Подписывайтесь на канал, и
вступайте в группу в ВК.
Удачи !

#godot #gdscript #годо #игровой движок #программирование