You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Godot 4中如何为带setter的@export变量设置默认值?

在Godot 4中为带Setter的@export变量设置默认值

要给带自定义setter的@export变量设置默认值,直接在类型声明后加上赋值语句即可,写法如下:

@export var speed: int = 300: set = set_speed

func set_speed(new_speed: int) -> void:
    # 这里可以添加自定义校验或逻辑,比如限制速度不能为负数
    speed = max(0, new_speed)

这样speed变量的初始默认值就是300,同时绑定了set_speed作为它的setter函数。当你在Godot编辑器的检查器中修改这个变量的值时,会自动触发set_speed,执行你定义的逻辑。

如果希望初始默认值也经过setter的校验逻辑(比如确保默认值符合你设定的范围),可以在_ready()函数中手动调用一次setter:

@export var speed: int = 300: set = set_speed

func _ready() -> void:
    set_speed(speed)  # 让初始默认值也通过setter处理

func set_speed(new_speed: int) -> void:
    speed = max(0, new_speed)

注意:在setter函数中直接给变量赋值不会触发递归调用,Godot内部已经处理了这个逻辑,所以不用担心无限循环问题。

内容的提问来源于stack exchange,提问作者100k7gm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 06:09:51