【Unity 3D】学习笔记十六:实例-添加与关闭窗口
2014-06-15 15:23
666 查看
Unity 学习笔记十六
学习资料:《Unity 3D游戏开发》 宣雨松
在游戏里,是可以动态的添加与关闭一个游戏窗口的,所以这次我们就制作一个可以动态添加与关闭窗口的实例。
例子:
在这个例子中,winArrayList这个数组链表,用来记录每一个窗口的信息,点击添加按钮后,其实是给这个链表增添一条新窗口的信息。点击关闭,就是删除这个窗口的信息。
链表的长度就是窗口的总数量。使用for循环去遍历这个链表,并在循环中使用GUILayout.Window()将窗口绘制在屏幕中。
觉得这个小例子还是蛮有趣的,也证明unity还是蛮强大的,用如此简洁的代码就能实现这个小例子。
学习资料:《Unity 3D游戏开发》 宣雨松
在游戏里,是可以动态的添加与关闭一个游戏窗口的,所以这次我们就制作一个可以动态添加与关闭窗口的实例。
例子:
//使用ArrayList储存窗口 var winArrayList = new ArrayList(); //图标 var icon : Texture; function Start() { //初始化添加一个窗口 winArrayList.Add(Rect(winArrayList.Count*100,50,150,100)); } function OnGUI() { //遍历窗口数量,并且添加入视图 var count = winArrayList.Count; for(var i = 0; i < count;i++) { winArrayList[i]= GUILayout.Window (i, winArrayList[i], AddWindow, "窗口ID:"+i); } } function AddWindow (windowID:int) { //开始一个水平布局 GUILayout.BeginHorizontal (); //绘制图标 GUILayout.Label(icon,GUILayout.Width(50),GUILayout.Height(50)); //绘制文字 GUILayout.Label("这是一个全新的窗口"); //关闭水平布局 GUILayout.EndHorizontal (); //开始一个水平布局 GUILayout.BeginHorizontal (); if (GUILayout.Button ("添加新窗口")) { //添加窗口 winArrayList.Add(Rect(winArrayList.Count*100,50,150,100)); } if (GUILayout.Button ("关闭当前窗口")) { //关闭窗口 winArrayList.RemoveAt(windowID); } //关闭水平布局 GUILayout.EndHorizontal (); //设置窗口拖动的区域 GUI.DragWindow(Rect(0,0, Screen.width, Screen.height)); }
在这个例子中,winArrayList这个数组链表,用来记录每一个窗口的信息,点击添加按钮后,其实是给这个链表增添一条新窗口的信息。点击关闭,就是删除这个窗口的信息。
链表的长度就是窗口的总数量。使用for循环去遍历这个链表,并在循环中使用GUILayout.Window()将窗口绘制在屏幕中。
觉得这个小例子还是蛮有趣的,也证明unity还是蛮强大的,用如此简洁的代码就能实现这个小例子。
相关文章推荐
- 【Unity 3D】学习笔记十九:实例:游戏人物移动
- 【Unity 3D】学习笔记三十五:游戏实例——摄像机切换镜头
- 【Unity 3D】学习笔记二十九:游戏实例——简单小地图制作
- 【Unity 3D】学习笔记三十五:游戏实例——摄像机切换镜头
- 【Unity 3D】学习笔记四十五:游戏实例——击垮围墙
- 【Unity 3D】学习笔记四十七:实例——观察模型
- 【Unity 3D】学习笔记九:window控件(窗口)
- 【Unity 3D】学习笔记十七:自定义游戏中字体
- 【Unity 3D】学习笔记十二:GUILayout(界面布局)
- Unity Application Block 学习笔记 之 命名实例、匿名实例和循环引用
- 【Unity 3D】学习笔记三:TextField控件(文本框)
- 【Unity 3D】学习笔记十三:线性布局
- 【Unity 3D】学习笔记五:Toggle(开关按钮)
- 【Unity 3D】学习笔记十五:控件四角对齐(FlexibleSpace)
- Unity 3D 学习笔记
- 【js学习笔记-073】-------打开和关闭窗口
- 【Unity 3D】学习笔记八:GroupView控件(群组视图)
- Unity 3D 学习笔记
- Unity 3D 学习笔记
- [Unity 3D] 物理引擎学习笔记(一)