欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Unity 3D ScrollView控件(滚动视图)

程序员文章站 2022-03-26 19:32:28
...

在游戏开发过程中,会碰到游戏界面中的GUI控件太多,超出了屏幕的显示范围,此时就需要使用Scroll View控件来完成它的展示效果。

Scroll View控件可以设定一个滚动显示区域。如果水平或垂直的GUI控件超出其显示区域,视图下方或者右方将会出现滚动条。在开发中使用Scroll View控件的情况非常普遍,比如游戏中帮助信息或关于信息过长,就可以使用滚动条来查看相关信息。

一般情况下,滚动条由两部分组成,一个是 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):

  1. public static function BeginScrollView(position:Rect, scrollPosition:Vector2, viewRect:Rect):Vector2;

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

  3. public static function EndScrollView():void;

其中,position 为显示位置,scrollPosition 用于设置滚动条的起始位置,viewRect 用于设置滚动整体显示范围,EndScrollView 用于结束滚动视图内容。

ScrollView 控件的参数如下表所示。
 

参 数 功 能 参 数 功 能
position 设置控件在屏幕上的位置及 大小 ScrollPosition 用来显示滚动位置
viewRect 设置滚动整体显示范围 alwaysShowHorizontal 可选参数,总是显示水平 滚动条
HorizontalScrollbar 设置用于水平滚动条的可选 GUI 样式 alwaysShow Vertical 可选参数,总是显示垂直 滚动条
VerticalScrollbar 设置用于垂直滚动条的可选 GUI 样式