Unity技術(shù)手冊(cè)之Slider滑動(dòng)器使用實(shí)例詳解
??實(shí)踐過(guò)程
為了方便更多的人(新手)看明白,使用的漢字,真實(shí)項(xiàng)目盡量使用英文規(guī)則昂。
該控件通常可以用于技能冷卻或者人物血條或者游戲里面設(shè)置功能的各種滑動(dòng)條。

我們?cè)贖ierarchy窗口中右鍵(UI-Slider)創(chuàng)建一個(gè)滑動(dòng)條(如下圖)。會(huì)發(fā)現(xiàn)有五個(gè)子物體,其實(shí)主要的是Background和Fill以及Handle,另外兩個(gè)帶Area的是為了做寬高適配,一直填充滿父物體Slider。
Background便是默認(rèn)的滑動(dòng)條底圖或底色。Fill是滑動(dòng)進(jìn)度的填充效果,Handle是滑動(dòng)塊。Slider物體有個(gè)Slider組件,除了默認(rèn)的Transition(和Button中的一樣)還有Fill Rect和Handler Rect。Fill Rect用來(lái)指定滑動(dòng)后的填充,也就是Fill物體,Handler Rect是用來(lái)設(shè)置滑動(dòng)塊的。

特別聲明:Background、Fill、Handle其實(shí)都是Image組件,帶有Image的所有屬性及特點(diǎn),加上里面的Image Type,可以充分利用起來(lái)玩出花樣。
Slider其他參數(shù)
Direction(方向):可以修改滑動(dòng)方向,默認(rèn)是從左到右,還有右到左,上到下,下到上??聪路紾if。
Min Value & Max Value:最小值和最大值。最小值最大值有助于數(shù)字化滑動(dòng)的效果,比如血條的實(shí)現(xiàn),就可以設(shè)置為最小值0,最大值100。
Whole Numbers:表示滑動(dòng)過(guò)程為整數(shù)(默認(rèn)不勾選,滑動(dòng)進(jìn)度帶有小數(shù)),如果設(shè)置大小分為是0-1則不會(huì)有緩緩填充進(jìn)度效果。當(dāng)設(shè)置的大小范圍最大值大于1的時(shí)候,滑動(dòng)不會(huì)出現(xiàn)小數(shù)值。
Value:當(dāng)前所處進(jìn)度,范圍在Min Value和Max Value之間。

設(shè)置監(jiān)聽(tīng)事件有兩種:
public class TestSlider : MonoBehaviour
{
private void Start()
{
//代碼形式添加
gameObject.GetComponent<Slider>().onValueChanged.AddListener(SliderChange);
}
//外面Unity編輯器中選擇指定
public void SliderChange(float value)
{
Debug.Log("注意一定要選擇Dynamic float下的方法名,滑動(dòng)的進(jìn)度" + value);
}
}

如果你想添加進(jìn)度條開(kāi)始拖動(dòng)的瞬間。以及結(jié)束拖動(dòng)的瞬間 可以自定義一個(gè)Slider。
也可以直接繼承IBeginDragHandler,IEndDragHandler,兩種方法。 方法一
public class TestSlider : MonoBehaviour,IBeginDragHandler,IEndDragHandler
{
private void Start()
{
//代碼形式添加
gameObject.GetComponent<Slider>().onValueChanged.AddListener(SliderChange);
}
//外面Unity編輯器中選擇指定
public void SliderChange(float value)
{
Debug.Log("注意一定要選擇Dynamic float下的方法名,滑動(dòng)的進(jìn)度" + value);
}
public void OnBeginDrag(PointerEventData eventData)
{
Debug.Log("開(kāi)始拖動(dòng)" + eventData.button);
}
public void OnEndDrag(PointerEventData eventData)
{
Debug.Log("結(jié)束拖動(dòng)" + eventData.position);
}
}
方法二 自定義Slider就需要Unity編輯器中的物體掛載你自定義的腳本了。

public class TestSlider : MonoBehaviour
{
private void Start()
{
//代碼形式添加
gameObject.GetComponent<CustomSlider>().onValueChanged.AddListener(SliderChange);
gameObject.GetComponent<CustomSlider>().beiginDrag = OnSliderDragBegin;
gameObject.GetComponent<CustomSlider>().endDrag = OnSliderDragEnd;
}
private void OnSliderDragBegin()
{
Debug.Log("開(kāi)始拖動(dòng)");
}
private void OnSliderDragEnd()
{
Debug.Log("結(jié)束拖動(dòng)");
}
//外面Unity編輯器中選擇指定
public void SliderChange(float value)
{
Debug.Log("滑動(dòng)的進(jìn)度" + value);
}
}以上就是Unity技術(shù)手冊(cè)之Slider滑動(dòng)器使用實(shí)例詳解的詳細(xì)內(nèi)容,更多關(guān)于Unity技術(shù)Slider滑動(dòng)器的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- Unity中的RegisterPlugins實(shí)用案例深入解析
- Unity的IPostprocessBuild實(shí)用案例深入解析
- Unity的IPreprocessBuild實(shí)用案例深入解析
- Unity的IFilterBuildAssemblies實(shí)用案例深入解析
- Unity技術(shù)手冊(cè)之Button按鈕使用實(shí)例詳解
- Unity游戲開(kāi)發(fā)實(shí)現(xiàn)背包系統(tǒng)的示例詳解
- Unity游戲開(kāi)發(fā)實(shí)現(xiàn)場(chǎng)景切換示例
- Unity的BuildPlayerProcessor實(shí)用案例深入解析
相關(guān)文章
C#中實(shí)現(xiàn)Fluent Interface的三種方法
這篇文章主要介紹了C#中實(shí)現(xiàn)Fluent Interface的三種方法,本文講解了Fluent Interface的簡(jiǎn)單實(shí)現(xiàn)、使用裝飾器模式和擴(kuò)展方法實(shí)現(xiàn)Fluent Interface等3種實(shí)現(xiàn)方法,需要的朋友可以參考下2015-03-03
C# Redis學(xué)習(xí)系列(一)Redis下載安裝使用
這篇文章主要為大家分享了C# Redis學(xué)習(xí)系列教程第一篇, Redis下載、安裝、使用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05
c#實(shí)現(xiàn)一個(gè)超實(shí)用的證件照換底色小工具(附源碼)
這篇文章主要給大家介紹了關(guān)于利用c#實(shí)現(xiàn)一個(gè)超實(shí)用的證件照換底色小工具的相關(guān)資料,通過(guò)這個(gè)小工具大家可以很方便的進(jìn)行底色的切換,不用再因?yàn)榈咨脑蝾^疼了,需要的朋友可以參考借鑒,下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2018-01-01
兩路歸并的數(shù)組與鏈表的實(shí)現(xiàn)方法
本篇文章對(duì)兩路歸并的數(shù)組與鏈表的實(shí)現(xiàn)方法進(jìn)行了分析介紹。需要的朋友參考下2013-05-05
C#讀寫EXCEL單元格的問(wèn)題實(shí)現(xiàn)
這篇文章主要介紹了C#讀寫EXCEL單元格的問(wèn)題實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-04-04
C# 中 TryParse如何將字符串轉(zhuǎn)換為特定類型
在 C# 中,TryParse 是一個(gè)用于將字符串轉(zhuǎn)換為特定類型的方法,它用于嘗試解析字符串并將其轉(zhuǎn)換為指定類型的值,而不會(huì)引發(fā)異常,這篇文章主要介紹了C# 中 TryParse 將字符串轉(zhuǎn)換為特定類型的方法,需要的朋友可以參考下2024-03-03

