【Unity UGUI 交互组件——Scrollbar(8)】

Unity UGUI 滚动条 (Scrollbar) 速览

Scrollbar ≠ Slider:Slider 用来 选数值 ,Scrollbar 用来 滚动视图


1. 概述

Scrollbar 是 "滚动视图专用滑动器",常见于

  • 聊天框右侧 垂直滚动
  • 地图查看器 水平滚动
  • 时间轴 水平滚动

2.三个组成

Hierarchy 对象 作用一句话 可删? 常用修改
Scrollbar (根) Scrollbar 脚本,统筹一切 改方向、范围、事件
Sliding Area 轨道 容器,决定把手行程 改锚点/大小控制行程
Handle 可拖动把手 (Image/Button) 换图标、加阴影、调尺寸

没有单独的 Background / Fill ,背景直接由 Sliding Area 的 Image 充当,把手大小由 Handle Rect + Size 控制。


3. 滚动条 vs 滑动条

维度 Scrollbar Slider
目的 滚动视图 选数值
Handle 大小可变 表示可滚动范围 固定大小
典型值 Value 0-1 表示 滚动位置 Value 0-100 表示 数值
用例 文本、地图、时间轴 音量、血量、难度

4. SCrollbar参数

属性 中文 说明 & 常用值
Fill Rect 背景图 装饰轨道底色
Handle Rect 控制柄 拖控制柄 Image
Direction 方向 LeftToRight / RightToLeft / TopToBottom / BottomToTop
Value 当前位置 0-1 的百分比,0 代表起点,1 代表终点
Size 控制柄比例 0-1,表示 可见区域 / 总长度(滚动条特有)
Number Of Steps 步数 0 = 连续;>0 = 离散滚动格数
OnValueChanged(float) 事件 拖动时回调,参数为当前 Value
Interactable 可交互开关 false 时禁止拖动,但脚本仍可改值
Transition / Navigation 同 Slider 见 Slider 章节

5. 常见用法

场景 做法简述
垂直文字滚动 Direction = TopToBottomSize = 0.2,绑定 ScrollRect
水平地图滚动 Direction = LeftToRightSize = 0.3,绑定 ScrollRect
时间轴滚动 NumberOfSteps = 100,让时间轴一格一格跳

6. 脚本控制示例

csharp 复制代码
using UnityEngine;
using UnityEngine.UI;

public class ScrollbarDemo : MonoBehaviour
{
    public Scrollbar scrollbar;   // 拖进来

    void Start()
    {
        // 初始位置 50%
        scrollbar.value = 0.5f;

        // 监听滚动事件
        scrollbar.onValueChanged.AddListener(OnScroll);
    }

    void OnScroll(float v)
    {
        Debug.Log("当前滚动位置:" + v);
    }
}

7. 一句话总结

Scrollbar 就是 "可拖动的滚动把手" ,用它 + ScrollRect 即可实现 文字、地图、时间轴 的平滑滚动;记住 Size 决定把手长度,Value 决定滚动位置即可。

相关推荐
技术探讨者2 小时前
Unity 框架:从核心构成到实践应用的全面解析
unity·游戏引擎
牛掰是怎么形成的2 小时前
Unity Legacy动画与骨骼动画的本质区别
unity·游戏引擎
weixin_458360912 小时前
Unity使用Cursor Editor
unity
萘柰奈2 小时前
Unity学习--2D动画--[序列帧动画]2D序列帧动画
学习·unity·游戏引擎
EQ-雪梨蛋花汤2 小时前
【Unity笔记】Unity 模型渲染优化:从 Batching 到 GI 设置的完整指南
笔记·unity·游戏引擎
花花_12 小时前
一步封神:Unity环境搭建终极全宇宙级攻略(Win/Mac/云)
macos·unity·游戏引擎
Unity打怪升级2 小时前
【Unity精品源码】Ultimate Character Controller:高级角色控制器完整解决方案
游戏·unity·ue5·游戏引擎·godot·游戏程序·cocos2d
qq_312982132 小时前
Unity国际版下载方法 https://unity.com/releases 被重定向问题导致下载不到Unity国际版的问题解决
unity·游戏引擎
光光的奇妙冒险2 小时前
Luban+Unity使用,看这一篇文章就够了
unity·游戏引擎·游戏程序·游戏策划
7***37453 小时前
前端体验的隐性力量:微交互、认知负担与情绪设计的技术实践思维
前端·交互