OnGUI ScrollView 控件

2020-07-13 13:40 更新

當游戲界面中的內容特別多,超出了屏幕的顯示范圍時,就可以使用 Unity 3D ScrollView 控件滾動顯示界面內的全部內容。

ScrollView 控件用于在屏幕上創(chuàng)建滾動視圖,通過一片小區(qū)域查看較大區(qū)域的內容。當內容區(qū)域大于查看區(qū)域時,該控件就會自動生成垂直(水平)滾動條,用戶可以通過拖曳滾動條來查看所有內容。

一般情況下,滾動條由兩部分組成:

  • GUI.BeginScrollView,用于開始滾動視圖。

  • GUI.EndScrollView,用于結束滾動視圖。

需要滾動顯示的內容就夾在其間。

使用方法:

public static function BeginScrollView(position:Rect, scrollPosition:Vector2,viewRect:Rect):Vector2;
public static function BeginScrollView(position:Rect, scrollPosition:Vector2,viewRect:Rect, alwaysShowHorizontal:bool, alwaysShowVertical:bool,horizontalScrollbar:GUIStyle, verticalScrollbar:GUIStyle):Vector2;
public static function EndScrollView():void;

參數列表

參數 描述
position 設置控件在屏幕上的位置及大小。
viewRect 設置滾動整體顯示范圍。
HorizontalScrollbar 設置用于水平滾動條的可選 GUI 樣式。
VerticalScrollbar 設置用于垂直滾動條的可選 GUI 樣式。
ScrollPosition 用來顯示滾動位置。
alwaysShowHorizontal  可選參數,總是顯示水平 滾動條。
alwaysShow Vertical 可選參數,總是顯示垂直 滾動條。

使用案例

  1. 創(chuàng)建項目,將其命名為 BeginScrollView,保存場景。

  1. 執(zhí)行 AssetsCreateJavaScript 命令,創(chuàng)建一個新的腳本文件。

  1. 在 Project 視圖中打開腳本編輯器,輸入下列語句:

    var scrollPosition:Vector2=Vector2.zero;
    function OnGUI(){
        scrollPosition=GUI.BeginScrollView(Rect(10, 300, 100, 100),
        scrollPosition, Rect(0, 0, 220, 200));
        GUI.Button(Rect(0, 0, 100, 20), "Top-left");
        GUI.Button(Rect(120, 0, 100, 20), "Top-right");
        GUI.Button(Rect(0, 180, 100, 20), "Bottom-left");
        GUI.Button(Rect(120, 180, 100, 20), "Bottom-right");
        GUI.EndScrollView();
    }

  1. Ctrl+S 鍵保存腳本。

  1. 在 Project 視圖中選擇腳本,將其連接到 Main Camera 上。

  1. 進行測試,效果如下圖所示。

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號