在游戏开发过程中,会碰到游戏界面中的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-->
相关推荐
在本书《Unity3D游戏开发》中,作者详细介绍了Unity环境的搭建、编辑器使用以及GUI游戏界面的相关知识。书中还涵盖了使用C#和JavaScript语言构建游戏脚本的方法,并教授了如何在游戏中添加各种模型元素,如树、草、...
Unity3D游戏开发是目前非常流行的游戏开发方式,本书《Unity3D 游戏开发》由宣雨松编著,由人民邮电出版社出版发行。该书详细介绍了如何使用Unity引擎进行游戏开发,并以实例为基础,帮助读者快速入门并掌握Unity3D...
unity3d游戏开发 unity3d游戏开发 unity3d游戏开发 unity3d游戏开发 unity3d游戏开发 unity3d游戏开发 unity3d游戏开发 unity3d游戏开发 unity3d游戏开发 unity3d游戏开发 unity3d游戏开发 unity3d游戏开发 ...
《Unity3D游戏开发 第二版》是一本深入讲解Unity3D引擎的权威教程,针对游戏开发者和爱好者提供了全面而详尽的知识体系。随着游戏行业的快速发展,Unity3D因其强大的功能、易用性和跨平台特性,已成为全球最受欢迎的...
这个名为“PPT_Unity 3D游戏开发(第2版).zip”的压缩包包含了一系列关于Unity 3D游戏开发的PPT教程,可能是某个课程或工作坊的教学材料。以下是基于提供的文件名推测的各个章节内容: 1. **第1章:Unity入门** ...
总之,Unity3D游戏开发涵盖了广泛的领域,从基础的编程和场景设计,到高级的优化和平台适配。通过“文档资料.docx”和“项目说明.rar”的学习,开发者不仅可以掌握Unity3D的基本操作,还能深入理解游戏开发的各个...
Unity是一款强大的跨平台游戏开发引擎,它提供了丰富的功能来创建2D和3D游戏以及交互式体验。在Unity中,Scroll View组件是一个非常实用的工具,用于实现滚动视图,通常用于显示大量的内容,比如列表或者网格。...
Unity3D游戏开发,国内第一本完整教材。讲的很全面
Unity3D游戏开发是当前数字娱乐领域不可或缺的一部分,由Unity Technologies公司推出的这款强大的跨平台游戏引擎,被广泛应用于创建各种类型的交互式体验,包括三维视频游戏、建筑可视化、虚拟现实(VR)、增强现实(AR...
Unity3D 游戏开发之高级界面发送消息与消息的接收 在 Unity3D 游戏开发中,高级界面发送消息与消息的接收是非常重要的。这篇文章将介绍如何在 Unity3D 游戏引擎中实现高级界面发送消息与消息的接收。 Unity3D ...
Unity3D游戏开发是一门涉及创建三维游戏和交互式内容的课程,特别适合初学者入门学习。宣雨松作为该教程的作者,将带您进入Unity3D的奇妙世界。 首先,我们需要了解什么是Unity3D。Unity3D是一个跨平台的游戏引擎,...
《宣雨松Unity3D游戏开发(第二版)3-6章源码》是一份针对Unity3D游戏开发的学习资源,由知名IT专家宣雨松编写。这份源码集覆盖了2018年10月第二版教材的第3至第6章内容,旨在帮助学习者深入理解并实践Unity3D的游戏...
cC#+Unity3D游戏源码.zipC#+Unity3D游戏源码.zipC#+Unity3D游戏源码.zipC#+Unity3D游戏源码.zipC#+Unity3D游戏源码.zipC#+Unity3D游戏源码.zipC#+Unity3D游戏源码.zipC#+Unity3D游戏源码.zipC#+Unity3D游戏源码.zipC...
《Unity3D游戏开发》可能出自宣雨松之手,这可能是一本更全面的教程,涵盖了从基础到高级的游戏开发流程。这可能包括了Unity的基础操作,如场景构建、对象创建、脚本编写(C#语言),以及更复杂的技术,如光照、动画...
通过《Unity3D游戏开发》的深入学习,你将全面掌握Unity3D的游戏开发流程,从基础概念到高级技术,从单机游戏到网络对战,都能游刃有余。无论是想成为独立开发者还是加入游戏开发团队,这本书都将是你提升Unity3D...
电子书下载 : http://blog.csdn.net/good3651/article/details/53420721 -------《Unity 3D游戏开发技术详解与典型案例》对Unity 3D集成开发环境界面、脚本的编写和众多高级特效的实现进行了详细的介绍,内容深入浅...
Unity 3D学习资源
本资源包含的是Unity 3D在Windows和Mac操作系统下进行游戏开发的所有源代码,这将为开发者提供一个深入学习和实践Unity 3D游戏开发的宝贵资料库。 首先,Unity 3D支持多种编程语言,主要使用C#,它允许开发者编写...