15.ScrollBar滚动条

15.UGUI基础-组合控件-ScrollBar滚动条控件


15.1 知识点

Scrollbar是什么

Scrollbar是滚动条组件,是UGUI中用于处理滚动条相关交互的关键组件。

默认创建的Scrollbar由2组对象组成:

  • 父对象——Scrollbar组件依附的对象。
  • 子对象——滚动块对象。

一般情况下我们不会单独使用滚动条,都是配合ScrollView滚动视图来使用。

滚动条非常常见,例如visualstudio的滚动条

ScrollBar滚动条组件参数


Handle Rect:关联滚动块图形对象

Direction 方向

  • 滑动条值增加的方向:
    • Left To Right:从左到右
    • Right To Left:从右到左
    • Bottom To Top:从下到上
    • Top To Bottom:从上到下

Value 值

  • 滚动条初始位置值(0~1)。

Size 大小

  • 滚动块在条中的比例大小(0~1),为1时就填满,代表不能拖动了。

Number Of Steps 步骤数量

  • 允许可以滚动多少次(不同滚动位置的数量),通俗理解就是可以一格一格的变化,分成多少格。

OnValueChanged 值改变时

  • 滚动条值改变时执行的函数列表。

ScrollBar滚动条控件代码控制

GetComponent<Scrollbar>() 得到Scrollbar组件

// 获取当前游戏对象上的 Scrollbar 组件,并将其赋值给 scrollbar 变量
Scrollbar scrollbar = this.GetComponent<Scrollbar>();

Scrollbar.value 滚动条当前值

// 打印 scrollbar 的当前值
print(scrollbar.value);

Scrollbar.size 滚动条大小

// 打印 scrollbar 的大小
print(scrollbar.size);

Scrollbar监听事件的两种方式

拖脚本监听事件

需要一个float参数,代表滚动条的值

public void ChangeValue(float v)
{
    print(v);
}

代码添加监听事件

scrollbar.onValueChanged.AddListener 滑动条的值发生变化时的监听
// 注册监听滑动条值变化的事件,当滑动条的值发生变化时,执行下面的函数
scrollbar.onValueChanged.AddListener((v) => {
    // 打印输出带有滑动条值的字符串
    print("代码监听的函数" + v);
});

15.2 知识点代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class Lesson15_UGUI基础_组合控件_ScrollBar滚动条控件 : MonoBehaviour
{
    void Start()
    {
        #region 知识点一 Scrollbar是什么
        //Scrollbar是滚动条组件
        //是UGUI中用于处理滚动条相关交互的关键组件

        //默认创建的Scrollbar由2组对象组成
        //父对象——Scrollbar组件依附的对象
        //子对象——滚动块对象

        //一般情况下我们不会单独使用滚动条 
        //都是配合ScrollView滚动视图来使用
        #endregion

        #region 知识点二 Scrollbar参数相关

        #endregion

        #region 知识点三 Scrollbar代码控制

        Scrollbar scrollbar = this.GetComponent<Scrollbar>();
        print(scrollbar.value);
        print(scrollbar.size);

        #endregion

        #region 知识点四 Scrollbar监听事件的两种方式
        //1.拖脚本
        //2.代码添加

        // 注册监听滑动条值变化的事件,当滑动条的值发生变化时,执行下面的函数
        scrollbar.onValueChanged.AddListener((v) => {
            // 打印输出带有滑动条值的字符串
            print("代码监听的函数" + v);
        });
        #endregion
    }

    public void ChangeValue(float v)
    {
        print(v);
    }
}


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com

×

喜欢就点赞,疼爱就打赏