Manuals
Manuals




This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English

Текстові вузли GUI

Defold підтримує окремий тип вузла GUI, що дає змогу відображати текст у сцені GUI. Для рендерингу текстових вузлів можна використовувати будь-який ресурс шрифту, доданий до проєкту.

Додавання текстових вузлів

Шрифти, які ви хочете використовувати в текстових вузлах GUI, потрібно додати до компонента GUI (GUI component). Для цього натисніть правою кнопкою миші на папці Fonts, скористайтеся верхнім меню GUI або натисніть відповідне сполучення клавіш.

Шрифти

Текстові вузли мають набір особливих властивостей:

Font
Для кожного створеного текстового вузла потрібно задати властивість Font.
Text
Ця властивість містить текст, що відображається.
Line Break
Вирівнювання тексту залежить від налаштування опорної точки (pivot), а ввімкнення цієї властивості дає змогу розміщувати текст у кілька рядків. Ширина вузла визначає, де текст переноситиметься на новий рядок.

Вирівнювання

Змінюючи опорну точку вузла, ви можете змінити режим вирівнювання тексту.

По центру
Якщо для опорної точки встановлено значення Center, North або South, текст вирівнюється по центру.
Ліворуч
Якщо для опорної точки встановлено будь-який із режимів West, текст вирівнюється за лівим краєм.
Праворуч
Якщо для опорної точки встановлено будь-який із режимів East, текст вирівнюється за правим краєм.

Вирівнювання тексту

Змінення текстових вузлів під час виконання

Для текстових вузлів доступні всі загальні функції керування вузлами, зокрема для встановлення розміру, опорної точки, кольору тощо. Є також кілька функцій, призначених лише для текстових вузлів:

  • Щоб змінити шрифт текстового вузла, використовуйте функцію gui.set_font().
  • Щоб змінити поведінку перенесення рядків у текстовому вузлі, використовуйте функцію gui.set_line_break().
  • Щоб змінити вміст текстового вузла, використовуйте функцію gui.set_text().
function on_message(self, message_id, message, sender)
    if message_id == hash("set_score") then
        local s = gui.get_node("score")
        gui.set_text(s, message.score)
    end
end