VSlider
2026/4/14大约 2 分钟
最后同步日期:2026-04-15 | Godot 官方原文 — VSlider
VSlider
节点继承关系
继承链:Node → CanvasItem → Control → Range → Slider → VSlider
定义
垂直滑动条——和 HSlider 功能完全一样,只是方向变成了上下拖动。就像空调遥控器上的温度调节——上下滑动调温度。
使用频率:★★★ 一般常用(垂直方向的数值调节时使用)
节点用途
- 垂直方向拖动调节数值
- 侧边栏的参数调节
- 垂直方向的音量/亮度控制
使用场景
- 侧边栏的参数调节
- 画面设置中的垂直亮度条
- 音频混音器的垂直推子
常用节点搭配
- 搭配
Label显示当前数值 - 搭配
VBoxContainer排列标签和滑动条
生效必备素材/资源
无需特殊资源。
节点属性与信号
继承自 Range
| 属性 | 类型 | 默认值 | 继承自 | 说明 |
|---|---|---|---|---|
value | float | 0.0 | Range | 当前值 |
min_value | float | 0.0 | Range | 最小值 |
max_value | float | 100.0 | Range | 最大值 |
step | float | 1.0 | Range | 每次滑动的步进值 |
rounded | bool | false | Range | 是否取整 |
信号
| 信号 | 触发时机 | 参数 |
|---|---|---|
value_changed | 滑块值变化时 | float 新值 |
drag_started | 开始拖动时 | 无 |
drag_ended | 结束拖动时 | bool 是否改变值 |
常用方法
| 方法 | 说明 |
|---|---|
SetValue(float) | 设置当前值 |
GetValue() | 获取当前值 |
| 继承 Range 所有方法 | — |
代码示例
C
using Godot;
public partial class VerticalVolumeControl : Control
{
public override void _Ready()
{
var label = new Label();
label.Text = "音量";
label.Position = new Vector2(100, 50);
AddChild(label);
var slider = new VSlider();
slider.MinValue = 0;
slider.MaxValue = 100;
slider.Value = 70;
slider.Step = 1;
slider.Position = new Vector2(100, 80);
slider.CustomMinimumSize = new Vector2(20, 200);
slider.ValueChanged += (val) =>
{
GD.Print($"音量: {(int)val}");
};
AddChild(slider);
}
}GDScript
extends Control
func _ready():
var label = Label.new()
label.text = "音量"
label.position = Vector2(100, 50)
add_child(label)
var slider = VSlider.new()
slider.min_value = 0
slider.max_value = 100
slider.value = 70
slider.step = 1
slider.position = Vector2(100, 80)
slider.custom_minimum_size = Vector2(20, 200)
slider.value_changed.connect(func(val: float):
print("音量: " + str(int(val)))
)
add_child(slider)