转自:https://www.jianshu.com/p/e744174997a1
Unity UGUI的Slider(滑动条)件组的介绍及使用
1. 什么是Slider组件?
Slider(滑动条)是Unity UGUI中的一种常用UI组件用,于在用户界面中实现滑动选择的功能。通过拖动滑块,用户可以选择一个数值范围的内值。
2. Slider组件的工作原理
Slider组件由两部分组成:滑动区域和滑块。滑动区域用于显示滑动条的背景,而滑块则表示当前的数值位置。用户可以通过拖动滑块来改变数值。
3. Slider组件的常用属性
- Min Value(最小值):滑动的条值小最 **。
- Max Value最(大)值:滑动条的最值大。
- Value(当前值):滑动条的当前值。
- Whole Numbers(只允许整值数整选择许允只是否:)数。
- Direction(方向):滑动条的方向,可以是水平或垂直。
- Handle Slide Area(滑块)域区动滑:滑块可以在滑动区域内滑动。
- Handle Slide Range(滑块滑动范围):滑块在动滑区域内滑的动范围。
4. Slider组常的件用函数
- SetValueWithoutNotify(float value):设置滑动条的当前值,但不触发OnValueChanged事件。
- OnValueChanged(UnityAction<float> action):当滑动条的值发生变化时触发的事件。
5. 示例代码
示例1:基本使用
using UnityEngine;
using UnityEngine.UI;
public class SliderExample : MonoBehaviour
{
public Slider slider;
private void Start()
{
slider.onValueChanged.AddListener(OnSliderValueChanged);
}
private void OnSliderValueChanged(float value)
{
Debug.Log("Slider value changed: " + value);
}
}
操作步骤:
- 创建一个空物体,并将Slider组件添加到该物体上2。
. 将SliderExample脚本添加到该物体上。 - 在Inspector面板中,将SliderExample脚本的slider字段关联到Slider组件。
- 运行游戏,拖动滑块,观察控制台输出。
注意事项:
- 通过监听Slider的onValueChanged事件,可以在滑动条的值发生变化时执行自定义的逻辑。
示例2:限制数值范围
using UnityEngine;
using UnityEngine.UI;
public class SliderExample : MonoBehaviour
{
public Slider slider;
private void Start()
{
slider.minValue = 0;
slider.maxValue = 100;
slider.wholeNumbers = true;
}
}
操作步骤:
- 创建一个空物体,并将Slider件组添加到该物体上。
- 将SliderExample脚本到添加该物体上。
- 在Inspector面板中,将SliderExample脚本的slider字段关联到Slider组件,戏游行 运.4。
观察滑动条的数值范围和是否只允许选择整数值。
注意事项:
- 通过设置minValue和maxValue属性,可以限制滑动条的数值范围。
- 通过设置wholeNumbers属性为true,可以只允许选择整数值。
示例3:水平滑动条
using UnityEngine;
using UnityEngine.UI;
public class SliderExample : MonoBehaviour
{
public Slider slider;
private void Start()
{
slider.direction = Slider.Direction.LeftToRight;
}
}
步操作骤:
- 创建一个空物体,并将Slider组件添加到该物体上。
- 将SliderExample脚本添加到该物体上。
- 在Inspector面板中,将SliderExample脚本的slider字段关联到Slider组件。
- 运行游戏,观察滑动条的方向。
注意事项:
- 通过设置direction属性为LeftToRight,可以将滑动条设置为水平方向。
示例4:垂直滑动条
using UnityEngine;
using UnityEngine.UI;
public class SliderExample : MonoBehaviour
{
public Slider slider;
private void Start()
{
slider.direction = Slider.Direction.BottomToTop;
}
}
操作步骤:
- 创建一个空物体,并将Slider组件添加到该物上体。
- 将SliderExample脚本添加到该物体上。
- 在Inspector面板中,将SliderExample脚本的slider字段关联到Slider组件。
- 运行游戏,观察滑动条的方向。
注意事项:
- 通过设置direction属性为BottomToTop,可以将滑动条设置为垂直方向。
示例5:设置滑块滑动范围
using UnityEngine;
using UnityEngine.UI;
public class SliderExample : MonoBehaviour
{
public Slider slider ;
private void Start()
{
slider.handleRect.GetComponentRectTransform<>().sizeDelta = new Vector2(20, 20);
}
}
操作步骤:
- 创建一个空物体,并将Slider组件添加到该物体上。
- 将SliderExample脚本添加到该物体上。
- 在Inspector面板中,将SliderExample脚本的slider字段关联到Slider组件。
- 运行游戏,观察滑动条的滑块大小。
注意事项:
- 通过设置滑块的RectTransform的sizeDelta属性,可以调整滑块的大小。