Unity UGUI的Scrollbar(滾動條)組件的介紹及使用

来源:https://www.cnblogs.com/alianblank/archive/2023/09/03/17675423.html
-Advertisement-
Play Games

# Unity UGUI的Scrollbar(滾動條)組件的介紹及使用 ## 一、什麼是Scrollbar組件? Scrollbar組件是Unity中UGUI系統提供的一種UI組件,主要用於在UI界面中提供滾動條功能,使用戶可以通過滾動條來查看超出屏幕範圍的內容。 ## 二、Scrollbar組件是 ...


Unity UGUI的Scrollbar(滾動條)組件的介紹及使用

一、什麼是Scrollbar組件?

Scrollbar組件是Unity中UGUI系統提供的一種UI組件,主要用於在UI界面中提供滾動條功能,使用戶可以通過滾動條來查看超出屏幕範圍的內容。

二、Scrollbar組件是如何工作的?

Scrollbar組件的工作原理主要是通過改變滾動條的位置來改變關聯的內容的顯示位置。當用戶拖動滾動條時,Scrollbar組件會根據滾動條的位置計算出一個值(範圍在0到1之間),然後將這個值傳遞給關聯的內容,由內容根據這個值來改變自己的顯示位置。

三、Scrollbar組件的常用屬性

Scrollbar組件的常用屬性主要有以下幾個:

  • Direction:滾動條的方向,可以是從左到右、從右到左、從下到上、從上到下。
  • Value:滾動條的當前值,範圍在0到1之間。
  • Size:滾動條滑塊的大小,範圍在0到1之間,值越大,滑塊越大。
  • NumberOfSteps:滾動條的步進值,如果設置為0,則滾動條可以平滑滾動;如果設置為大於0的值,則滾動條會按照步進值來滾動。

四、Scrollbar組件的常用函數

Scrollbar組件的常用函數主要有以下幾個:

  • OnValueChanged:當滾動條的值改變時觸發的事件。
  • Rebuild:重新構建滾動條。
  • LayoutComplete:當滾動條的佈局完成時觸發的事件。
  • GraphicUpdateComplete:當滾動條的圖形更新完成時觸發的事件。

五、Scrollbar組件的使用示例

下麵將通過5個示例來介紹如何使用Scrollbar組件。

示例1:創建一個簡單的Scrollbar

// 創建一個Scrollbar
Scrollbar scrollbar = new GameObject("Scrollbar").AddComponent<Scrollbar>();
// 設置滾動條的方向
scrollbar.direction = Scrollbar.Direction.LeftToRight;
// 設置滾動條的值
scrollbar.value = 0.5f;
// 設置滾動條滑塊的大小
scrollbar.size = 0.1f;

示例2:監聽Scrollbar的值改變事件

// 創建一個Scrollbar
Scrollbar scrollbar = new GameObject("Scrollbar").AddComponent<Scrollbar>();
// 添加值改變事件的監聽
scrollbar.onValueChanged.AddListener((value) => {
    Debug.Log("Scrollbar value changed: " + value);
});

示例3:設置Scrollbar的步進值

// 創建一個Scrollbar
Scrollbar scrollbar = new GameObject("Scrollbar").AddComponent<Scrollbar>();
// 設置滾動條的步進值
scrollbar.numberOfSteps = 10;

示例4:重新構建Scrollbar

// 創建一個Scrollbar
Scrollbar scrollbar = new GameObject("Scrollbar").AddComponent<Scrollbar>();
// 重新構建滾動條
scrollbar.Rebuild(CanvasUpdate.Prelayout);

示例5:監聽Scrollbar的佈局完成事件和圖形更新完成事件

// 創建一個Scrollbar
Scrollbar scrollbar = new GameObject("Scrollbar").AddComponent<Scrollbar>();
// 添加佈局完成事件的監聽
scrollbar.onValueChanged.AddListener(() => {
    Debug.Log("Scrollbar layout complete.");
});
// 添加圖形更新完成事件的監聽
scrollbar.onValueChanged.AddListener(() => {
    Debug.Log("Scrollbar graphic update complete.");
});

六、註意事項

在使用Scrollbar組件時,需要註意以下幾點:

  1. Scrollbar組件的值範圍是0到1,不要設置超出這個範圍的值。
  2. 如果要使Scrollbar可以平滑滾動,需要將步進值設置為0。
  3. 在監聽Scrollbar的值改變事件時,需要註意不要在事件處理函數中再次修改Scrollbar的值,否則可能會導致無限迴圈。

七、參考資料

__EOF__

本文作者 Blank
本文鏈接
版權聲明:本博客所有文章除特別聲明外,均採用 BY-NC-SA 許可協議。轉載請註明出處!
聲援博主:如果您覺得文章對您有幫助,可以點擊文章右下角 推薦 一下。您的鼓勵是博主的最大動力!

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • ## 預編譯頭文件 在 Visual Studio 中創建新項目時,會在項目中添加一個名為 pch.h 的“預編譯標頭文件”。 (在 Visual Studio 2017 及更高版本中,該文件名為 stdafx.h)此文件的目的是加快生成過程。 應在此處包含任何穩定的標頭文件,例如標準庫標頭(如 ) ...
  • 集合是一種無序、可變的數據結構,它也是一種變數類型,集合用於存儲唯一的元素。集合中的元素不能重覆,並且沒有固定的順序。在Python 提供了內置的 `set` 類型來表示集合,所以關鍵字`set`就是集合的意思。 你可以使用大括弧 `{}` 或者 `set()` 函數來創建一個集合。 ```pyth ...
  • `Matplotlib`的**坐標軸**是用於在繪圖中表示數據的位置的工具。 坐標軸是圖像中的水平和垂直線,它們通常表示為 x 軸和 y 軸。坐標軸的作用是幫助觀察者瞭解圖像中數據的位置和大小,通常標有數字或標簽,以指示特定的值在圖像中的位置。 # 1. 坐標軸範圍 `Matplotlib`繪製圖形 ...
  • 本文主要介紹 RocketMQ 的安裝部署,文中所使用到的軟體版本:RocketMQ 5.1.3、CentOS 7.9.2009。 1、RocketMQ 部署模型 1.1、部署模型說明 Apache RocketMQ 部署架構上主要分為四部分: A、生產者 Producer 發佈消息的角色。Prod ...
  • > 講解Go語言從編譯到執行全周期流程,每一部分都會包含豐富的技術細節和實際的代碼示例,幫助大家理解。 > 關註微信公眾號【TechLeadCloud】,分享互聯網架構、雲服務技術的全維度知識。作者擁有10+年互聯網服務架構、AI產品研發經驗、團隊管理經驗,同濟本復旦碩,復旦機器人智能實驗室成員,阿 ...
  • 最近在公司的項目中,編寫了幾個自定義的 Exception 類。提交 PR 的時候,sonarqube 提示這幾個自定義異常不符合 ISerializable patten. 花了點時間稍微研究了一下,把這個問題解了。今天在此記錄一下,可能大家都會幫助到大家。 ## 自定義異常 編寫一個自定義的異常 ...
  • 我們在使用一些需要購買版權的軟體產品時,或者我們做的商業軟體需要進行售賣,為了收取費用,一般需要一個軟體使用許可證,然後輸入這個許可到軟體里就能夠使用軟體。簡單的是一串序列碼或者一個許可證文件,複雜的是一個定製化插件包。於是有的小伙伴就開始好奇這個許可是怎麼實現的,特別是在離線情況下它是怎麼給軟體授... ...
  • # EF Core併發控制 # 併發控制概念 1. 併發控制:避免多個用戶同時操作資源造成的併發衝突問題。 2. 最好的解決方案:非資料庫解決方案 3. 資料庫層面的兩種策略:悲觀、樂觀 # 悲觀鎖 悲觀併發控制一般採用行鎖 ,表鎖等排他鎖對資源進行鎖定,確保同時只有一個使用者操作被鎖定的資源。 E ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...