在游戏开发过程中,会碰到游戏界面中的GUI控件太多,超出了屏幕的显示范围,此时就需要使用Scroll View控件来完成它的展示效果。
Scroll View控件可以设定一个滚动显示区域。如果水平或垂直的GUI控件超出其显示区域,视图下方或者右方将会出现滚动条。在开发中使用Scroll View控件的情况非常普遍,比如游戏中帮助信息或关于信息过长,就可以使用滚动条来查看相关信息。
下面说明Scroll View
控件的用法,代码如下:
#pragma strict //定义存储滚动条的位置变量 var scrollPosition:Vector2; function Start () { //初始化滚动条位置 scrollPosition[0] = 50; scrollPosition[1] = 50; } function OnGUI () { //开始滚动视图 scrollPosition = GUI.BeginScrollView(Rect(0,0,200,200),scrollPosition,Rect(0,0,Screen.width,300),true,true); GUI.Label(Rect(100,40,Screen.width,30),"测试滚动视图内容测试滚动视图内容测试滚动视图内容测试滚动视图内容测试滚动视图内容测试滚动视图内容"); //结束滚动视图 GUI.EndScrollView(); }
上述代码中,Start()方法用于设置默认情况下滚动条的位置,数组scrollPosition[0]表示滚动视图水平滚动滑块位置,数组scrollPosition[1]表示滚动视图垂直滚动滑块位置。将这两个数组全部存储在Vector2中,拖动滚动条后,在程序内存中会动态修改两个滚动条的位置。GUI.BeginScrollView()方法用于开始滚动视图,该方法的第一个参数用于设置滚动显示视图的位置,第二个参数用于设置滚动条的起始位置,第三个用于设置滚动整理显示范围(注意:滚动视图的显示范围必须小于游戏视图整体范围),第四个参数与第五个参数为true时,表示内容超过滚动显示范围后显示滚动条,否则不显示滚动条。
注意:GUI.BeginScrollView()方法与GUI.EndScrollView()方法必须成对出现,否则程序会抛出异常。
运行程序后看到的结果如下图所示:
<!--EndFragment-->
<!--EndFragment-->