Komponent Etykieta (ang. Label) renderuje fragment tekstu na ekranie w przestrzeni gry. Domyślnie jest sortowany i rysowany razem z wszystkimi grafikami sprite i kafelkami. Komponent ten ma zestaw właściwości, które regulują sposób renderowania tekstu. GUI w Defoldzie obsługuje tekst, ale może być trudno umieścić elementy GUI w przestrzeni świata gry, razem z obiektami gry. Etykiety ułatwiają to.
Aby utworzyć komponent etykiety - label, kliknij prawym przyciskiem myszy na obiekcie gry i wybierz Add Component ▸ Label.
(Jeśli chcesz utworzyć kilka etykiet na podstawie tego samego szablonu, możesz także utworzyć nowy plik komponentu etykiety: kliknij prawym przyciskiem myszy na folder w panelu Assets i wybierz New... ▸ Label, a następnie dodaj plik jako komponent do dowolnych obiektów gry).
Ustaw właściwość Font na font, który chcesz użyć, i upewnij się, że właściwość Material ma materiał, który pasuje do rodzaju fontu:
Oprócz właściwości Id, Position, Rotation i Scale, istnieje kilka specyficznych dla komponentu właściwości (properties):
Należy zauważyć, że domyślny materiał wyłącza renderowanie cieni ze względów wydajnościowych.
: Tryby mieszania - blend-modes opisane są tutaj
Ustawiając właściwość Pivot, możesz zmienić tryb wyrównania tekstu.
Center
, North
lub South
, tekst jest wyrównywany do środka.West
, tekst jest wyrównywany do lewej.East
, tekst jest wyrównywany do prawej.Możesz manipulować etykietami w czasie działania programu, uzyskując i ustawiając tekst etykiety oraz różne inne właściwości.
color
vector4
)outline
vector4
)shadow
vector4
)scale
number
dla jednolitej skali, albo vector3
dla indywidualnej skali wzdłuż każdej osi.size
vector3
)function init(self)
-- Ustaw tekst komponentu "my_label" w tym samym obiekcie gry
-- co ten skrypt.
label.set_text("#my_label", "New text")
end
function init(self)
-- Ustaw kolor komponentu "my_label" w tym samym obiekcie gry.
-- Kolor jest wartością RGBA przechowywaną w wektorze 4-składnikowym.
local grey = vmath.vector4(0.5, 0.5, 0.5, 1.0)
go.set("#my_label", "color", grey)
-- ... i usuń obrys, ustawiając jego alfa na 0 ...
go.set("#my_label", "outline.w", 0)
-- ... i powiększ go dwukrotnie wzdłuż osi x
local scale_x = go.get("#my_label", "scale.x")
go.set("#my_label", "scale.x", scale_x * 2)
end
Plik game.project ma kilka [ustawień projektu związanych z etykietami](/pl/manuals/project-settings#label.
Did you spot an error or do you have a suggestion? Please let us know on GitHub!
GITHUB