Godot - 按需制作标签,并使用 GDscript 设置其字体大小

Godot - making labels on demand, and setting their font size with GDscript

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

这是我的:

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,所以我可能找错地方了。

鉴于您要向 HBoxContainer 添加标签,看起来您要做的就是创建一个字符串列表,您可以使用 ItemList. Items can be dynamically added using add_item. For a horizontal layout like an hbox, just set max_columns0 :

A value of zero means unlimited columns, i.e. all items will be put in the same row.

由于您的示例对所有项目使用相同的字体和大小,您只需创建一个具有所需字体和大小的 DynamicFont,并将其分配给 custom_font 字段 ItemList。通过编辑器最简单。

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