源码8:Slider
public class Slider : Selectable, IDragHandler, IInitializePotentialDragHandler, ICanvasElement
{
...
[Serializable]
/// <summary>
/// Event type used by the UI.Slider.
/// </summary>
public class SliderEvent : UnityEvent<float> {}
[SerializeField]
private RectTransform m_FillRect;
[SerializeField]
private RectTransform m_HandleRect;
[SerializeField]
private Direction m_Direction = Direction.LeftToRight;
[SerializeField]
private float m_MinValue = 0;
[SerializeField]
private float m_MaxValue = 1;
[SerializeField]
private bool m_WholeNumbers = false;
[SerializeField]
protected float m_Value;
public SliderEvent onValueChanged { get { return m_OnValueChanged; } set { m_OnValueChanged = value; } }
...
}
Slider 继承了Selectable, IDragHandler, IInitializePotentialDragHandler, ICanvasElement 功能基本和Scrollbar类似
protected virtual void Set(float input, bool sendCallback = true)
{
// Clamp the input
float newValue = ClampValue(input);
// If the stepped value doesn't match the last one, it's time to update
if (m_Val

本文详细介绍了Unity引擎中UI Slider组件的工作原理和功能。Slider继承了Selectable, IDragHandler, IInitializePotentialDragHandler, ICanvasElement等接口,用于创建可拖动的进度条。它包含填充矩形和手柄矩形,根据方向和值来调整显示。Set方法限制并设置值,OnPointerDown处理鼠标按下事件,OnMove处理方向键移动事件,OnDrag更新拖动状态。 SliderEvent事件在值改变时触发,并更新视觉效果。
最低0.47元/天 解锁文章
1424

被折叠的 条评论
为什么被折叠?



