Window控件在游戏开发中非常常见,所有视图都需要依赖窗口来显示,可以把窗口理解为视图的父类。前面所介绍的各种各样控件游戏视图,都属于窗口的子类。游戏界面可以由若干个窗口组成,窗口又由若干个视图组成。
创建窗口时需要设定它的显示区域,在窗口中可以添加任意游戏视图控件对象,前提是组件的显示区域必须在窗口中,否则无法显示。另外,窗口中所有的坐标均采取相对坐标,相对窗口左上角的坐标。下面查看实例中的代码,代码如下所示:
#pragma strict //默认窗口位置变量 private var window0:Rect = Rect(10,10,200,200); private var window1:Rect = Rect(220,10,200,200); function OnGUI () { //在这里注册两个窗口 GUI.Window(0,window0,oneWindow,"窗口1"); GUI.Window(1,window1,twoWindow,"窗口2"); } //显示窗口1的内容 function oneWindow(windowID:int){ GUI.Box(Rect(10,50,150,50),"窗口ID"+windowID); if(GUI.Button(Rect(10,120,150,50),"Button")){ Debug.Log("窗口ID = "+windowID+"按钮被点击了"); } } //显示窗口2的内容 function twoWindow(windowID:int){ GUI.Box(Rect(10,50,150,50),"窗口ID"+windowID); if(GUI.Button(Rect(10,120,150,50),"Button")){ Debug.Log("窗口ID = "+windowID+"按钮被点击了"); } }
上述代码中,使用了GUI.window()方法注册窗口,该方法共有4个参数,第一个参数表示窗口的ID,第二个参数表示窗口显示的区域,第三个参数表示一个回调方法名称,窗口中包含的所有视图组件将写入这个方法,第四个参数表示窗口的标题名称。
程序运行起来后的结果如下所示:
<!--EndFragment-->
<!--EndFragment-->
相关推荐
在Unity3D开发中,GUI系统提供了一种创建用户界面(UI)的方式,而GUILayout和GUI.Window是其中的两个重要工具,它们用于构建游戏中的窗口和控件。本教程将详细探讨GUILayout.Window与GUI.Window之间的差异,帮助...
在Unity3D中,GUI(Graphical User Interface)系统是用于创建用户界面的重要工具之一。它允许开发者通过脚本控制界面元素,实现各种交互功能。GUI焦点操作是Unity3D GUI系统中的一个重要组成部分,主要涉及到如何管理...
### Unity3D GUI 教程知识点详解 #### 第一章:GUI界面基础 **1.1 GUI.backgroundColor背景颜色** - **定义**:用于设置GUI元素背景颜色。 - **使用场景**:当需要调整按钮、标签等GUI元素背景色时使用。 - **示例...
* 编辑器插件可以访问UNITY3D编辑器的GUI系统,并可以使用UNITY3D的内置控件来构建自定义的编辑器界面。 UNITY3D编辑器插件编写的步骤: 1. 使用[MenuItem]声明来添加菜单项,并在菜单项被点击时执行对应的函数。 ...
在Unity 3D游戏中,CEGUI可以用来构建美观、功能丰富的图形用户界面。 在Unity 3D中,GUI开发是指在游戏内部创建菜单、窗口、按钮等界面元素的过程。GUI开发对于提高玩家的游戏体验至关重要,因为它直接关系到玩家...
在Unity引擎中,开发自定义编辑器扩展是提高工作效率的关键之一。本教程将围绕"Unity编辑器——日期选择窗口插件"这一主题展开,详细讲解如何创建一个在编辑器内部弹出的日历选择窗口,以方便用户在制作游戏或应用时...
**NGUI**(Nice GUI)是一款强大的Unity3D界面开发插件,广泛应用于2D和3D游戏的用户界面设计。NGUI不仅支持多种控件,还提供了丰富的功能,比如动态文本、动画、触摸事件等。本篇将详细介绍NGUI的一个典型案例——...
在Unity3D中,开发人员有时需要自定义编辑器界面以增强工作效率或提供特定功能。【添加编辑器窗口】这个话题就是关于如何...理解并掌握`EditorWindow`类以及相关的GUI布局工具是成为Unity3D高级开发者的必备技能之一。
VS2012还支持Visual C++和DirectX,使得开发3D游戏成为可能。 【“打地鼠”游戏机制】 打地鼠游戏的基本玩法是玩家需要在地鼠头冒出地面时迅速敲击它们。这个过程涉及到事件驱动编程,即当地鼠出现时触发一个事件...
这些框架不仅简化了游戏逻辑的实现,还提供了图形渲染、物理引擎、音频处理等功能,帮助开发者快速创建2D或3D游戏。然而,由于Java在图形性能上相比C++或Unity等可能稍逊一筹,因此Java更适合开发轻量级、策略类或者...