【问题标题】:Godot - making labels on demand, and setting their font size with GDscriptGodot - 按需制作标签,并使用 GDscript 设置其字体大小
【发布时间】:2020-05-17 14:18:38
【问题描述】:

不用过多解释,我基本上需要创建未知数量的标签,带有未知的文本。一切都很好,花花公子 - 作品。 不过,我似乎找不到如何更改它们的字体大小。

这是我所拥有的:

for string in string_list:
    var new_label = Label.new()
    new_label.text = string
    new_label.set("custom_fonts/font", load(FONTPATH))
    new_label.set("custom_fonts/settings/size", FONTSIZE)
    hbox.add_child(new_label)

我在 QA 论坛上找到的加载字体行,并从中推断出如何设置设置大小行。但它们似乎不起作用,Godot 也没有抛出任何错误。在运行时执行此操作 - 如果有任何不同。

搜索了官方文档和 QA。 对 Godot 来说相当新,所以我可能找错地方了。

【问题讨论】:

    标签: fonts label godot gdscript


    【解决方案1】:

    鉴于您正在向HBoxContainer 添加标签,看起来您想要做的只是创建一个字符串列表,您可以使用ItemList 来完成。可以使用add_item 动态添加项目。对于像 hbox 这样的水平布局,只需将 max_columns 设置为 0

    零值表示无限列,即所有项目将放在同一行中。

    由于您的示例对所有项目使用相同的字体和大小,您只需创建一个具有所需字体和大小的DynamicFont,并将其分配给ItemListcustom_font 字段。通过编辑器最容易做到这一点。

    如果由于某种原因您需要使用单独的Labels,只需创建一个DynamicFont,使其成为Theme 的一部分,然后将此主题分配给标签的父级。那么所有的标签都会继承这个字体。

    【讨论】:

    • 我使用了ItemList的方法,做起来要快得多!我也必须阅读主题,所以谢谢你提出这个问题。另外,感谢您的快速答复!
    猜你喜欢
    • 2019-01-15
    • 1970-01-01
    • 2017-02-24
    • 2018-08-30
    • 1970-01-01
    • 2019-04-03
    • 1970-01-01
    • 2017-01-31
    • 1970-01-01
    相关资源
    最近更新 更多