Group View是群组视图控件,可以将多个视图全部放在一个群组当中。将视图添加进群组当中后,群组中任何视图的坐标都是相对坐标,它是相对群组视图左上角的坐标。
修改群组视图的坐标后,群组中所有视图的坐标都会跟着修改。群组视图在游戏界面开发中经常使用,因为设备的屏幕尺寸不同,这样做可以避免对坐标进行多次修改的麻烦。在群组视图中,使用GUIContent()方法可以设置提示信息,使用GUI.tooltip可以得到GUIContent()方法中第二个字符串参数设置的提示字符串。
下面来看实例代码:
#pragma strict //定义两个贴图对象 var viewTexture0:Texture2D; var viewTexture1:Texture2D; function OnGUI () { //开始一个群组对象 GUI.BeginGroup(Rect(10,10,200,400)); //显示一个贴图,坐标为相对群组的坐标(10,50) GUI.DrawTexture(Rect(10,20,viewTexture0.width,viewTexture1.height),viewTexture0); //标签控件显示提示信息 GUI.Label(Rect(10,110,100,30),"Group View one"); //按钮控件 GUI.Button(Rect(10,140,100,30),"Button"); //结束一个群组对象 GUI.EndGroup(); //开始一个群组对象 GUI.BeginGroup(Rect(300,50,200,400)); //显示一个贴图,坐标为相对群组的坐标(10,50) GUI.DrawTexture(Rect(10,20,viewTexture0.width,viewTexture1.height),viewTexture0); //标签控件显示提示信息 GUI.Label(Rect(10,110,100,30),"Group View two"); //按钮控件 GUI.Button(Rect(10,140,100,30),"Button"); //结束一个群组对象 GUI.EndGroup(); }
上述代码中使用了GUI.BeginGroup()方法可以创建一个群组视图,但是必须要和GUI.EndGroup()方法结束群组视图一起使用,否则程序报错。在GUI.BeginGroup()方法可以设定群组视图的区域,在该区域中可添加任意控件对象,如果超出该范围,则不予显示。再次强调,群组视图中所有控件的坐标都采取相对坐标,相对该群组视图左上角的坐标。该控件的好处在于移动群组视图后,期中的所有控件都会跟着移动,永远保持相对的为。
另外GUI.DrawTexture()方法用来绘制视图中的贴图,方法的第一个参数表示贴图的绘制区域,第二个参数表示贴图的资源。
程序运行后的效果如下所示:
<!--EndFragment-->
<!--EndFragment-->
相关推荐
在本书《Unity3D游戏开发》中,作者详细介绍了Unity环境的搭建、编辑器使用以及GUI游戏界面的相关知识。书中还涵盖了使用C#和JavaScript语言构建游戏脚本的方法,并教授了如何在游戏中添加各种模型元素,如树、草、...
unity3d游戏开发 unity3d游戏开发 unity3d游戏开发 unity3d游戏开发 unity3d游戏开发 unity3d游戏开发 unity3d游戏开发 unity3d游戏开发 unity3d游戏开发 unity3d游戏开发 unity3d游戏开发 unity3d游戏开发 ...
Unity3D游戏开发是目前非常流行的游戏开发方式,本书《Unity3D 游戏开发》由宣雨松编著,由人民邮电出版社出版发行。该书详细介绍了如何使用Unity引擎进行游戏开发,并以实例为基础,帮助读者快速入门并掌握Unity3D...
《Unity3D游戏开发 第二版》是一本深入讲解Unity3D引擎的权威教程,针对游戏开发者和爱好者提供了全面而详尽的知识体系。随着游戏行业的快速发展,Unity3D因其强大的功能、易用性和跨平台特性,已成为全球最受欢迎的...
总之,Unity3D游戏开发涵盖了广泛的领域,从基础的编程和场景设计,到高级的优化和平台适配。通过“文档资料.docx”和“项目说明.rar”的学习,开发者不仅可以掌握Unity3D的基本操作,还能深入理解游戏开发的各个...
这个名为“PPT_Unity 3D游戏开发(第2版).zip”的压缩包包含了一系列关于Unity 3D游戏开发的PPT教程,可能是某个课程或工作坊的教学材料。以下是基于提供的文件名推测的各个章节内容: 1. **第1章:Unity入门** ...
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集成开发环境界面、脚本的编写和众多高级特效的实现进行了详细的介绍,内容深入浅...
以下将详细介绍标题和描述中涉及的Unity3D游戏开发的关键知识点。 首先,"构建3D游戏的基本地形"是游戏开发的基础。在Unity3D中,可以使用Terrain系统来创建和编辑游戏世界中的地形。这包括使用Procedural Terrain ...
Unity 3D学习资源
本资源包含的是Unity 3D在Windows和Mac操作系统下进行游戏开发的所有源代码,这将为开发者提供一个深入学习和实践Unity 3D游戏开发的宝贵资料库。 首先,Unity 3D支持多种编程语言,主要使用C#,它允许开发者编写...