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

Текстова мітка

Компонент (component) Label (текстова мітка) відображає фрагмент тексту на екрані в ігровому просторі. За замовчуванням він сортується й відмальовується разом з усією графікою спрайтів і плиток. Компонент має набір властивостей, які визначають спосіб відображення тексту. GUI в Defold підтримує текст, але розміщувати елементи GUI в ігровому світі буває складно. Текстові мітки спрощують це завдання.

Створення текстової мітки

Щоб створити компонент Label, клацніть правою кнопкою миші на ігровому об’єкті (game object) і виберіть Add Component ▸ Label.

Додавання текстової мітки

(Якщо ви хочете створити кілька екземплярів (instance) міток за одним шаблоном, можна натомість створити новий файл компонента Label: клацніть правою кнопкою миші на папці в браузері Assets і виберіть New... ▸ Label, а потім додайте цей файл як компонент до будь-яких ігрових об’єктів)

Нова текстова мітка

У властивості Font вкажіть потрібний шрифт і обов’язково встановіть для властивості Material матеріал, що відповідає типу шрифту:

Шрифт і матеріал

Властивості текстової мітки

Окрім властивостей Id, Position, Rotation і Scale, компонент має такі специфічні властивості:

Text
Текстовий вміст мітки.
Size
Розмір обмежувальної рамки тексту. Якщо ввімкнено Line Break, ширина визначає місце перенесення тексту на новий рядок.
Color
Колір тексту.
Outline
Колір контуру.
Shadow
Колір тіні.

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

Leading
Коефіцієнт масштабування міжрядкового інтервалу. Значення 0 усуває міжрядковий інтервал. За замовчуванням — 1.
Tracking
Коефіцієнт масштабування міжлітерного інтервалу. За замовчуванням — 0.
Pivot
Опорна точка тексту. Використовуйте її для змінення вирівнювання тексту (див. нижче).
Blend Mode
Режим змішування, який використовується під час рендерингу мітки.
Line Break
Вирівнювання тексту визначається налаштуванням опорної точки, а ввімкнення цієї властивості дає змогу розміщувати текст у кількох рядках. Ширина компонента визначає місце перенесення тексту. Зауважте, що для перенесення в тексті має бути пробіл.
Font
Ресурс шрифту для цієї мітки.
Material
Матеріал для рендерингу цієї мітки. Обов’язково виберіть матеріал, створений для типу шрифту, який ви використовуєте (растровий, на основі поля відстаней або BMFont).

Режими змішування

Властивість Blend Mode визначає, як графіка компонента (component) змішується з графікою позаду нього. Доступні такі режими змішування з відповідними формулами:

Alpha
Звичайне змішування: src.a * src.rgb + (1 - src.a) * dst.rgb
Add
Освітлює тло значеннями кольорів відповідних пікселів компонента: src.rgb + dst.rgb
Multiply
Затемнює тло значеннями відповідних пікселів компонента: src.rgb * dst.rgb
Screen
Протилежність Multiply. Освітлює тло та значення відповідних пікселів компонента: src.rgb - dst.rgb * dst.rgb

Опорна точка й вирівнювання

Налаштувавши властивість Pivot, ви можете змінити режим вирівнювання тексту.

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

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

Керування під час виконання

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

color
Колір мітки (vector4)
outline
Колір контуру мітки (vector4)
shadow
Колір тіні мітки (vector4)
scale
Масштаб мітки: number для рівномірного масштабування або vector3 для окремого масштабування вздовж кожної осі.
size
Розмір мітки (vector3)
function init(self)
    -- Set the text of the "my_label" component in the same game object
    -- as this script.
    label.set_text("#my_label", "New text")
end
function init(self)
    -- Set the color of the "my_label" component in the same game object
    -- as this script. Color is a RGBA value stored in a vector4.
    local grey = vmath.vector4(0.5, 0.5, 0.5, 1.0)
    go.set("#my_label", "color", grey)

    -- ...and remove the outline, by setting its alpha to 0...
    go.set("#my_label", "outline.w", 0)

    -- ...and scale it x2 along x axis.
    local scale_x = go.get("#my_label", "scale.x")
    go.set("#my_label", "scale.x", scale_x * 2)
end

Налаштування проєкту

Файл game.project містить кілька налаштувань проєкту, пов’язаних із текстовими мітками.