如何在工具模式下添加滑块?
how to add slider in tool mode?
我正在尝试像这样在工具模式下添加一个滑块:
代码:
tool
extends Position2D
export(float) var CustomSlider = 0.1 setget changeSlider_x
func changeSlider_x(changed_val):
CustomSlider=changed_val
首先要指出的是这个变量:
export(float) var CustomSlider = 0.1
是变体。甚至认为 Godot 在检查器面板上将其显示为浮动。
这是一个浮动,Godot 也会在检查面板中将其显示为浮动:
export var CustomSlider := 0.1
或者如果你希望类型明确,你可以这样写:
export var CustomSlider:float = 0.1
您在 export
后的括号中指定的是控制它在检查器面板中的显示方式。
我知道文档有点难找 - 因为还有其他东西叫做“导出” - 但这里是:GDScript exports
现在,要获得(有用的)滑块,您必须:
指定数值范围:
export(float, 0, 10) var CustomSlider:
指定值范围,并对齐步长:
export(float, 0, 10, 0.1) var CustomSlider:
捕捉将是步长的倍数。也就是贴合不会被最小值和最大值偏移。
指定指数滑块,最大值大于零(最小值将为零):
export(float, EXP, 10) var CustomSlider:
这样滑块就不是线性的了。你会发现在半点处的值是最大值的平方根,而不是一半。在三分之一的路程中,您找到最大值的立方根,依此类推。因此,数字在最大值附近更加紧密(例如,对于从 0 到 100 的范围,半点是 10,所以上半部分从 0 到 10,下半部分从 10 到 100)。
指定具有最小值和最大值的指数滑块:
export(float, EXP, 10, 100) var CustomSlider:
这与上面的行为类似,只是它是偏移的,因此最小值不是零,而是您指定的值。
指定一个指数滑块,具有最小值、最大值和对齐步长:
export(float, EXP, 10, 100, 2) var CustomSlider:
这将创建一个类似于前一个案例的指数滑块。除了这个会捕捉值,类似于之前描述的捕捉。
除了使用 export
之外,还有另一种方法可以在检查面板中显示内容:使用 _get_property_list
(需要 tool
脚本),这会给我们更多的控制权(某些选项只能通过这种方式使用)。此外,我们可以调用 property_list_changed_notify
告诉 Godot 再次检查它应该在检查器面板中显示的内容,这将允许您动态更改它。
顺便说一下,你可以用小写字母和 _
来写你的变量名,Godot 会把它大写,并在检查器面板中显示时用空格替换 _
。
我正在尝试像这样在工具模式下添加一个滑块:
代码:
tool
extends Position2D
export(float) var CustomSlider = 0.1 setget changeSlider_x
func changeSlider_x(changed_val):
CustomSlider=changed_val
首先要指出的是这个变量:
export(float) var CustomSlider = 0.1
是变体。甚至认为 Godot 在检查器面板上将其显示为浮动。
这是一个浮动,Godot 也会在检查面板中将其显示为浮动:
export var CustomSlider := 0.1
或者如果你希望类型明确,你可以这样写:
export var CustomSlider:float = 0.1
您在 export
后的括号中指定的是控制它在检查器面板中的显示方式。
我知道文档有点难找 - 因为还有其他东西叫做“导出” - 但这里是:GDScript exports
现在,要获得(有用的)滑块,您必须:
指定数值范围:
export(float, 0, 10) var CustomSlider:
指定值范围,并对齐步长:
export(float, 0, 10, 0.1) var CustomSlider:
捕捉将是步长的倍数。也就是贴合不会被最小值和最大值偏移。
指定指数滑块,最大值大于零(最小值将为零):
export(float, EXP, 10) var CustomSlider:
这样滑块就不是线性的了。你会发现在半点处的值是最大值的平方根,而不是一半。在三分之一的路程中,您找到最大值的立方根,依此类推。因此,数字在最大值附近更加紧密(例如,对于从 0 到 100 的范围,半点是 10,所以上半部分从 0 到 10,下半部分从 10 到 100)。
指定具有最小值和最大值的指数滑块:
export(float, EXP, 10, 100) var CustomSlider:
这与上面的行为类似,只是它是偏移的,因此最小值不是零,而是您指定的值。
指定一个指数滑块,具有最小值、最大值和对齐步长:
export(float, EXP, 10, 100, 2) var CustomSlider:
这将创建一个类似于前一个案例的指数滑块。除了这个会捕捉值,类似于之前描述的捕捉。
除了使用 export
之外,还有另一种方法可以在检查面板中显示内容:使用 _get_property_list
(需要 tool
脚本),这会给我们更多的控制权(某些选项只能通过这种方式使用)。此外,我们可以调用 property_list_changed_notify
告诉 Godot 再次检查它应该在检查器面板中显示的内容,这将允许您动态更改它。
顺便说一下,你可以用小写字母和 _
来写你的变量名,Godot 会把它大写,并在检查器面板中显示时用空格替换 _
。