ScrollView控件可以设定一个滚动显示区域。如果GUI控件超出其显示区域,视图下方或者右方将会出现滚动条。比如游戏中帮助信息或关于信息过长,就可以使用滚动条来查看相关信息。
滚动条由两部分组成,一个是 GUI.BeginScrollView,用于开始滚动视图,另一个是 GUI.EndScrollView,用于结束滚动视图。需要滚动显示的内容就夹在其间,具体使用方法示例如下:
using UnityEngine;using System.Collections;public class Scrollbar控件 : MonoBehaviour {//定义存储滚动条的位置变量 Vector2 scrollPosition;void start(){scrollPosition [0] = 50; //表示滚动视图水平滚动滑块位置scrollPosition [1] = 50; //表示滚动视图垂直滚动滑块位置}void OnGUI() {//滚动条开始scrollPosition = GUI.BeginScrollView(new Rect(0, 0, 200, 200),scrollPosition,new Rect(0, 0, Screen.width, Screen.height),true,true);//滚动条中的内容GUI.Button(new Rect(0, 0, 100, 20), "Top-left");GUI.Button(new Rect(120, 0, 100, 20), "Top-right");GUI.Button(new Rect(0, 180, 100, 20), "Bottom-left");GUI.Button(new Rect(120, 180, 100, 20), "Bottom-right");GUI.Label (new Rect(100,40,200,100),"测试滚动视图");GUI.EndScrollView(); //结束滚动视图//显示滚动条滑块位置GUI.Label (new Rect(300,40,100,100),scrollPosition.ToString()); }}
注意:GUI.BeginScrollView()方法与GUI.EndScrollView()方法必须成对出现,否则程序会抛出异常
函数原型(JavaScript):
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 为显示位置,scrollPosition 用于设置滚动条的起始位置,viewRect 用于设置滚动整体显示范围,EndScrollView 用于结束滚动视图内容。
ScrollView 控件的参数如下表所示。