0

为什么在函数 _ready 中使用脚本创建按钮时,这些按钮无法调整大小。(和位置)

var pos
var siz
var yBut = 150
var but

func _ready():
    siz = get_viewport().get_visible_rect().size
    pos = get_viewport().get_visible_rect().position
    but = Button.new()
    $sc/vb.add_child(but, true)
    but.rect_position = pos/2
    but.rect_size = Vector2(siz.x, 150)

附言。这些按钮被放置在一个 ScrollContainer 中,其中的 vBoxContainer。

4

1 回答 1

1

容器控件将自动调整子控件的大小和位置。尝试使用按钮的大小标志来建议它的大小。

您还可以使用大小标志与多个级别的其他 Container 控件(例如 V 和 HBoxContainer)组成 ui。这将使您更好地控制 ui 的整体外观。这也将使以后更容易添加自适应调整大小的控件。

您还可以设置rect_min_size并且容器不会将其调整为小于最小尺寸。但是,这可能会破坏动态布局。

希望这可以帮助!

于 2018-10-15T05:04:16.613 回答