`
convolute
  • 浏览: 260607 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Unity 3D游戏开发GUI高级控制之Group View控件

 
阅读更多

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-->
  • 大小: 90.3 KB
分享到:
评论

相关推荐

    Unity3D 游戏开发 PDF完整版

    在本书《Unity3D游戏开发》中,作者详细介绍了Unity环境的搭建、编辑器使用以及GUI游戏界面的相关知识。书中还涵盖了使用C#和JavaScript语言构建游戏脚本的方法,并教授了如何在游戏中添加各种模型元素,如树、草、...

    unity3d游戏开发

    unity3d游戏开发 unity3d游戏开发 unity3d游戏开发 unity3d游戏开发 unity3d游戏开发 unity3d游戏开发 unity3d游戏开发 unity3d游戏开发 unity3d游戏开发 unity3d游戏开发 unity3d游戏开发 unity3d游戏开发 ...

    Unity3D 游戏开发.pdf

    Unity3D游戏开发是目前非常流行的游戏开发方式,本书《Unity3D 游戏开发》由宣雨松编著,由人民邮电出版社出版发行。该书详细介绍了如何使用Unity引擎进行游戏开发,并以实例为基础,帮助读者快速入门并掌握Unity3D...

    Unity3D游戏开发 第二版

    《Unity3D游戏开发 第二版》是一本深入讲解Unity3D引擎的权威教程,针对游戏开发者和爱好者提供了全面而详尽的知识体系。随着游戏行业的快速发展,Unity3D因其强大的功能、易用性和跨平台特性,已成为全球最受欢迎的...

    Unity3D游戏开发.zip

    总之,Unity3D游戏开发涵盖了广泛的领域,从基础的编程和场景设计,到高级的优化和平台适配。通过“文档资料.docx”和“项目说明.rar”的学习,开发者不仅可以掌握Unity3D的基本操作,还能深入理解游戏开发的各个...

    PPT_Unity 3D游戏开发(第2版).zip

    这个名为“PPT_Unity 3D游戏开发(第2版).zip”的压缩包包含了一系列关于Unity 3D游戏开发的PPT教程,可能是某个课程或工作坊的教学材料。以下是基于提供的文件名推测的各个章节内容: 1. **第1章:Unity入门** ...

    Unity3D游戏开发-作者:宣雨松.pdf

    Unity3D游戏开发,国内第一本完整教材。讲的很全面

    Unity3D游戏开发(宣雨松)

    Unity3D游戏开发是当前数字娱乐领域不可或缺的一部分,由Unity Technologies公司推出的这款强大的跨平台游戏引擎,被广泛应用于创建各种类型的交互式体验,包括三维视频游戏、建筑可视化、虚拟现实(VR)、增强现实(AR...

    Unity3D游戏开发

    Unity3D游戏开发是一门涉及创建三维游戏和交互式内容的课程,特别适合初学者入门学习。宣雨松作为该教程的作者,将带您进入Unity3D的奇妙世界。 首先,我们需要了解什么是Unity3D。Unity3D是一个跨平台的游戏引擎,...

    unity3d游戏开发之高级界面发送消息与消息的接收.pdf

    Unity3D 游戏开发之高级界面发送消息与消息的接收 在 Unity3D 游戏开发中,高级界面发送消息与消息的接收是非常重要的。这篇文章将介绍如何在 Unity3D 游戏引擎中实现高级界面发送消息与消息的接收。 Unity3D ...

    宣雨松Unity3D游戏开发(第二版)3-6章源码

    《宣雨松Unity3D游戏开发(第二版)3-6章源码》是一份针对Unity3D游戏开发的学习资源,由知名IT专家宣雨松编写。这份源码集覆盖了2018年10月第二版教材的第3至第6章内容,旨在帮助学习者深入理解并实践Unity3D的游戏...

    C#+Unity3D游戏源码.zip

    cC#+Unity3D游戏源码.zipC#+Unity3D游戏源码.zipC#+Unity3D游戏源码.zipC#+Unity3D游戏源码.zipC#+Unity3D游戏源码.zipC#+Unity3D游戏源码.zipC#+Unity3D游戏源码.zipC#+Unity3D游戏源码.zipC#+Unity3D游戏源码.zipC...

    Unity 3D网络游戏实战(全)+Unity3D手机游戏开发第2版金玺曾+Unity3D游戏开发宣雨松合集压缩包

    《Unity3D游戏开发》可能出自宣雨松之手,这可能是一本更全面的教程,涵盖了从基础到高级的游戏开发流程。这可能包括了Unity的基础操作,如场景构建、对象创建、脚本编写(C#语言),以及更复杂的技术,如光照、动画...

    Unity3D 游戏开发

    通过《Unity3D游戏开发》的深入学习,你将全面掌握Unity3D的游戏开发流程,从基础概念到高级技术,从单机游戏到网络对战,都能游刃有余。无论是想成为独立开发者还是加入游戏开发团队,这本书都将是你提升Unity3D...

    Unity3D游戏开发技术详解与典型案例

    电子书下载 : http://blog.csdn.net/good3651/article/details/53420721 -------《Unity 3D游戏开发技术详解与典型案例》对Unity 3D集成开发环境界面、脚本的编写和众多高级特效的实现进行了详细的介绍,内容深入浅...

    unity 3D游戏开发

    以下将详细介绍标题和描述中涉及的Unity3D游戏开发的关键知识点。 首先,"构建3D游戏的基本地形"是游戏开发的基础。在Unity3D中,可以使用Terrain系统来创建和编辑游戏世界中的地形。这包括使用Procedural Terrain ...

    [Unity.3D游戏开发].宣雨松(手打目录).pdf

    Unity 3D学习资源

    Unity 3D游戏开发Windows和Mac所有源码

    本资源包含的是Unity 3D在Windows和Mac操作系统下进行游戏开发的所有源代码,这将为开发者提供一个深入学习和实践Unity 3D游戏开发的宝贵资料库。 首先,Unity 3D支持多种编程语言,主要使用C#,它允许开发者编写...

Global site tag (gtag.js) - Google Analytics