gui-text.md 1.7 KB


title: Defold GUI 文本节点

brief: 本教程介绍了如何在 GUI 场景中添加文本.

GUI 文本节点

Defold 支持专门用于GUI场景中显示文本的GUI节点. 各种字体资源都可以被文本节点用以渲染文字.

添加文本节点

需要在文本节点使用的字体首先要应用到 GUI 组件之中. 或者使用右键点击 Fonts 文件夹, 使用 GUI 顶级菜单或者快捷键.

Fonts

文本节点有一些特有属性:

Font : 每个文本节点都要有 字体 属性设置.

Text : 此属性设置节点显示的文字.

Line Break : 文本对齐与锚点相关, 此属性可以让文本流动几行. 节点宽度决定文本在哪里换行.

锚点和对齐

你可以通过设置锚点来改变文本的对齐方式.

Center : 如果锚点设置成 Center, North 或者 South, 则文本居中对齐.

Left : 如果锚点设置成任何 West 模式, 则文本左对齐.

Right : 如果锚点设置成任何 East 模式, 则文本右对齐.

文本对齐

运行时控制操作

文本节点同样可以控制 size, pivot, color 之类的属性. 此外还有一些文本节点特有属性:

  • 要改变文本字体, 使用 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