Unity 3D ScrollView控件(滚动视图)
在游戏开发过程中,会碰到游戏界面中的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):
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 控件的参数如下表所示。
参 数 | 功 能 | 参 数 | 功 能 |
---|---|---|---|
position | 设置控件在屏幕上的位置及 大小 | ScrollPosition | 用来显示滚动位置 |
viewRect | 设置滚动整体显示范围 | alwaysShowHorizontal | 可选参数,总是显示水平 滚动条 |
HorizontalScrollbar | 设置用于水平滚动条的可选 GUI 样式 | alwaysShow Vertical | 可选参数,总是显示垂直 滚动条 |
VerticalScrollbar | 设置用于垂直滚动条的可选 GUI 样式 |
推荐阅读
-
Android学习-滚动视图ScrollView和HorizontalScrollView
-
Android中通过Java代码实现ScrollView滚动视图-以歌词滚动为例
-
RN入门基础8:滚动视图 ScrollView
-
ScrollView滚动视图使用案例
-
Android学习-滚动视图ScrollView和HorizontalScrollView
-
微信小程序三个视图控件View、ScrollView、Swiper的解读及示例
-
Android中通过Java代码实现ScrollView滚动视图-以歌词滚动为例
-
Unity 3D ScrollView控件(滚动视图)
-
Unity 3D下开发2D飞行游戏中的背景滚动
-
微信小程序三个视图控件View、ScrollView、Swiper的解读及示例