版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第1页 第2页 3.1.1 Button 控件 vButton控件用于在界面上创建一个按钮。当用户点击时会触发相应的功能,控件用于在界面上创建一个按钮。当用户点击时会触发相应的功能, 在游戏中通常用于界面、游戏功能、游戏设置的开关。在游戏中通常用于界面、游戏功能、游戏设置的开关。 v1 static function Button (position : Rect, text : String) : bool 2 static function Button (position : Rect, image :Texture) : bool 3 static function Button (p
2、osition : Rect, content : GUIContent) : bool 4 static function Button (position : Rect, text :String, style :GUIStyle) : bool 第3页 第4页 3.1.1 Button 控件 v12 if (GUI.Button(new Rect(Screen.width / 9, Screen.height / 4, v13 Screen.height / 5, Screen.height / 10), 按钮按钮) /通过第一种方法实现通过第一种方法实现Button控件控件 v14 D
3、ebug.Log(static function Button (position : Rect, text : String) : bool); v15 v16 if (GUI.Button(new Rect(Screen.width / 3, Screen.height / 4, v17 Screen.height / 5, Screen.height / 5), test) /通过第二种方法实现通过第二种方法实现Button控件控件 v18 Debug.Log(static function Button (position : Rect, image : Texture) : bool
4、); v19 第5页 3.1.1 Button 控件 v20 if (GUI.Button(new Rect(Screen.width / 2, Screen.height / 4, v21 Screen.height / 5, Screen.height / 10), guiContent) /通过第三种方法实现通过第三种方法实现Button控件控件 v22 Debug.Log(static function Button (position : Rect, content : GUIContent) : bool); v23 v24 if (GUI.Button(new Rect(Scre
5、en.width / 1.5f, Screen.height / 4, v25 Screen.height / 5, Screen.height / 5), 按钮按钮4, guiStyle) /通过第四种方法实现通过第四种方法实现Button控件控件 v26 Debug.Log(static function Button (position : Rect, text : String, style : GUIStyle) : bool); v27 第6页 3.1.2 Label控件 vLabel控件是在设备的屏幕上创建文本标签或纹理标签,一般用于提示用户一控件是在设备的屏幕上创建文本标签或纹
6、理标签,一般用于提示用户一 些信息。些信息。 v1static function Label (position : Rect, text : string) : void 2static function Label (position : Rect, image : Texture) : void 3static function Label (position : Rect, content :GUIContent) : void 4static function Label (position : Rect, content : GUIContent, style : GUIStyle
7、) : void 第7页 第8页 3.1.2 Label控件 v13 GUI.Label(new Rect(Screen.width / 8.5f, Screen.height / 7, /创建仅有文创建仅有文 字的字的Label控件控件 v14 Screen.height / 1.5f, Screen.height /8),绘制只有文字的绘制只有文字的Label控件!控件!); v15 GUI.Label(new Rect(Screen.width / 8.5f, Screen.height / 4.5f, /创建具有纹创建具有纹 理图片的理图片的Label控件控件 v16 Screen.h
8、eight / 1.5f, Screen.height / 8), texture); v17 GUI.Label(new Rect(Screen.width / 8.5f, Screen.height / 2.5f, /使用使用Conten 的的Label控件控件 v18 Screen.height / 1.5f, Screen.height / 8), guiContent); v19 GUI.Label(new Rect(Screen.width / 8.5f, Screen.height / 1.7f, /使用使用Content 和和Style的的Label控件控件 v20 Scree
9、n.height / 1.5f, Screen.height / 8), guiContent2, guiStyle); 第9页 3.1.3 DrawTexture控件 vDrawTexture控件用于绘制纹理图片,在使用控件用于绘制纹理图片,在使用GUI系统创建系统创建 DrawTexture控件的时候,会有如下静态方法供开发人员调用,没控件的时候,会有如下静态方法供开发人员调用,没 有返回值。静态方法中各个参数的功能如表有返回值。静态方法中各个参数的功能如表3-5所列。所列。 v1static function DrawTexture (position,image, scaleMode,
10、 alphaBlend, imageAspect) : void 第10页 3.1.3 DrawTexture控件 第11页 3.1.3 DrawTexture控件 v11 GUI.DrawTexture(new Rect(Screen.width / 9, /使用使用ScaleAndCrop模式绘制的图片模式绘制的图片 v12 Screen.height / 4,Screen.height / 5, Screen.height / 7), v13 texture,ScaleMode.ScaleAndCrop,true,0.0f); v14 GUI.DrawTexture(new Rect(S
11、creen.width / 3.5f, /使用使用ScaleToFit模式绘制的图片模式绘制的图片 v15 Screen.height / 4,Screen.height / 5, Screen.height / 7), v16 texture, ScaleMode.ScaleToFit, true, 0.0f); 第12页 3.1.3 DrawTexture控件 v17 GUI.DrawTexture(new Rect(Screen.width / 2, /使用使用StretchToFill模模 式绘制的图片式绘制的图片 v18 Screen.height / 4,Screen.height
12、 / 5, Screen.height / 7), v19 texture, ScaleMode.StretchToFill, true, 0.0f); v20 GUI.DrawTexture(new Rect(Screen.width / 2,/关闭混合通道效果关闭混合通道效果 v21 Screen.height / 2,Screen.height / 5, Screen.height / 7), v22 texture2, ScaleMode.StretchToFill, false, 0.0f); v23 GUI.DrawTexture(new Rect(Screen.width / 4
13、, /开启混合通道效果开启混合通道效果 v24 Screen.height / 2,Screen.height / 5, Screen.height / 7), v25 texture2, ScaleMode.StretchToFill, true, 0.0f); 第13页 3.1.4Box控件 vBox控件用于绘制图形化的盒子,在使用控件用于绘制图形化的盒子,在使用GUI系统创建系统创建Box控件的时候,会有控件的时候,会有 如下部分静态方法供开发人员调用,没有返回值。静态方法中各个参数的功如下部分静态方法供开发人员调用,没有返回值。静态方法中各个参数的功 能如表能如表3-6所列。所列。 v
14、1static function Box (position : Rect, text : string) : void 2static function Box (position : Rect, image : Texture) : void 3static function Box (position : Rect, content : GUIContent) : void 4static function Box (position : Rect, text : string, style : GUIStyle) : void 第14页 3.1.4Box控件 第15页 3.1.4Box
15、控件 v12 GUI.Box(new Rect(Screen.width / 8.5f, Screen.height / 7, v13 Screen.height / 5, Screen.height / 5),图形化盒子!图形化盒子!);/使用第使用第 一种方法实现控件一种方法实现控件 v14 GUI.Box(new Rect(Screen.width / 4, Screen.height / 7, v15 Screen.height / 5, Screen.height / 5), texture);/ 使用第二种方法实现控件使用第二种方法实现控件 v16 GUI.Box(new Rect
16、(Screen.width / 8.5f, Screen.height / 2.5f, v17 Screen.height / 5, Screen.height / 5), guiContent);/使用第使用第 三种方法实现控件三种方法实现控件 v18 GUI.Box(new Rect(Screen.width / 4, Screen.height / 2.5f,/使用第使用第 四种方法实现控件四种方法实现控件 v19 Screen.height / 5, Screen.height / 5), 这是一个使用这是一个使用GUIStyle的图形化盒子!的图形化盒子! , guiStyle);
17、第16页 3.1.5TextField控件 vTextField控件用于创建单行文本编辑框,在其中可以编辑字符串。在使用控件用于创建单行文本编辑框,在其中可以编辑字符串。在使用 GUI系统创建系统创建TextField控件的时候,会有如下四个静态方法供开发人员调用,控件的时候,会有如下四个静态方法供开发人员调用, 每当用户编辑字符串时会返回被编辑的字符串。静态方法中各个参数的功能每当用户编辑字符串时会返回被编辑的字符串。静态方法中各个参数的功能 如表如表3-8所列。所列。 v1static function TextField (position : Rect, text : String)
18、: String 2static function TextField (position : Rect, text : String, maxLength : int) : String 3static function TextField (position : Rect, text : String, style : GUIStyle) : String 4static function TextField (position : Rect, text : String, maxLength : int, style : GUIStyle) : String 第17页 3.1.5Text
19、Field控件 第18页 3.1.5TextField控件 v10 stringDemo1 = GUI.TextField(new Rect( /使用第一种方法创建的使用第一种方法创建的TextField v11 Screen.width / 8.5f,Screen.height / 9.5f, v12 Screen.height / 1.5f, Screen.height / 8), stringDemo1); v13 stringDemo2 = GUI.TextField(new Rect( /使用第二种方法创建的使用第二种方法创建的TextField v14 Screen.width /
20、 8.5f,Screen.height / 3.9f, v15 Screen.height / 1.5f, Screen.height / 8), stringDemo2, 30); 第19页 3.1.5TextField控件 v16 stringDemo3 = GUI.TextField(new Rect( /使用使用 第三种方法创建的第三种方法创建的TextField v17 Screen.width / 8.5f,Screen.height / 2.5f, v18 Screen.height / 1.5f, Screen.height / 8), stringDemo3, guiStyl
21、e); v19 stringDemo4 = GUI.TextField(new Rect( /使用第四种使用第四种 方法创建的方法创建的TextField v20 Screen.width / 8.5f,Screen.height / 1.8f, v21 Screen.height / 1.5f, Screen.height / 8), stringDemo4, 30, guiStyle); v22 第20页 3.1.6PasswordField控件 vPasswordField控件用于创建一个用于编辑密码的文本编辑区。控件用于创建一个用于编辑密码的文本编辑区。 v1static functi
22、on PasswordField (position : Rect, password : String , maskChar : char) :String 2static function PasswordField (position : Rect, password : String , maskChar : char, maxLength : int) : String 3static function PasswordField (position : Rect, password : String , maskChar : char, style : GUIStyle) : St
23、ring 第21页 3.1.6PasswordField控件 第22页 3.1.6PasswordField控件 vpublic class Demo : MonoBehaviour v4 private string stringDemo=Hello World!; /声明声明 字符串用于储存密码字段字符串用于储存密码字段 v5 void OnGUI() /重写重写OnGUI方法,用于控方法,用于控 件的绘制件的绘制 v6 stringDemo= GUI.PasswordField(new Rect(Screen.width / 8.5f, Screen.height / 9.5f, v7
24、Screen.height / 1.5f, Screen.height / 8), stringDemo, /通过第二种静态方法创建控件通过第二种静态方法创建控件 v8 第23页 3.1.7TextArea控件 vTextArea控件用于创建一个多行的文本编辑区,用于文字编辑控件用于创建一个多行的文本编辑区,用于文字编辑 。 vstatic function TextArea (position : Rect, text : String) : String vstatic function TextArea (position : Rect, text : String, maxLength
25、 : int, style : GUIStyle) : String 第24页 3.1.7TextArea控件 第25页 3.1.7TextArea控件 vpublic class Demo : MonoBehaviour v4 public string stringDemo; /声明字符串,用于声明字符串,用于 储存编辑的字符串储存编辑的字符串 v5 void OnGUI() v6 stringDemo = GUI.TextArea(new Rect(Screen.width / 8.5f, /使使 用第一种静态方法创建编辑区用第一种静态方法创建编辑区 v7 Screen.height /
26、 9.5f,Screen.height / 1.5f, Screen.height / 5), stringDemo); v8 第26页 3.1.8Toggle控件 vToggle控件用于绘制一个开关,通过控制开关的闭合来执行一些具体的操作控件用于绘制一个开关,通过控制开关的闭合来执行一些具体的操作 。 vToggle控件用于绘制通过控制开关的闭合来执行一些具体的操作按钮,类似控件用于绘制通过控制开关的闭合来执行一些具体的操作按钮,类似 于单选按钮。于单选按钮。 v1static function Toggle (position : Rect, value : bool, text : St
27、ring) : bool 2static function Toggle (position : Rect, value : bool, image : Texture) : bool 3static function Toggle (position : Rect, value : bool, content : GUIContent, style : GUIStyle) : bool 第27页 3.1.8Toggle控件 第28页 3.1.8Toggle控件 v7 void OnGUI() /重写重写OnGUI方法,用于控件绘制方法,用于控件绘制 v8 if (!texture) /判断图
28、片是否添加判断图片是否添加 v9 Debug.LogWarning(请添加一张图片请添加一张图片); /如果没有添加就打印警告,提示用户添加如果没有添加就打印警告,提示用户添加 v10 return; v11 v12 textBool=GUI.Toggle(new Rect(Screen.width / 8.5f,/使用第一种静态方法创建使用第一种静态方法创建 v13 Screen.height / 7, Screen.height / 5, Screen.height / 5), textBool, 开关控件开关控件); v14 textureBool=GUI.Toggle(new Rect
29、(Screen.width / 4,/使用第二种静态方法创建使用第二种静态方法创建 v15 Screen.height / 7, Screen.height / 5, Screen.height / 5), textureBool, texture); 第29页 3.1.9 SelectionGrid控件 vSelectionGrid控件用于创建一个网格按钮控件用于创建一个网格按钮 。 v指定需要创建的按钮的数量以及每一排放置的个数,然后控件就会自动调整指定需要创建的按钮的数量以及每一排放置的个数,然后控件就会自动调整 按钮的大小以及布局。按钮的大小以及布局。 v1static functio
30、n SelectionGrid (position : Rect, selected : int, texts : String, xCount : int) : int 2static function SelectionGrid (position : Rect, selected : int, images : Texture, xCount : int) : int 3static function SelectionGrid (position : Rect, selected : int, images : Texture, xCount : int, style : GUISty
31、le) : int 第30页 3.1.9 SelectionGrid控件 第31页 3.1.9 SelectionGrid控件 v4 public Texture texture; /声明纹理数组声明纹理数组 v5 private string textStrings = new string 按钮一按钮一, 按钮二按钮二, 按钮三按钮三, 按按 钮四钮四 ; /声明字符串数组声明字符串数组 v6 private int index; /第一个控件的索引第一个控件的索引 v7 private int deindex; /第二个控件的索引第二个控件的索引 v8 void OnGUI() v9 i
32、ndex = GUI.SelectionGrid(new Rect(Screen.width / 40,Screen.height / 7,Screen.width / 5, v10 Screen.height /4),index,textStrings,2); /使用第一种静态方法,创建使用第一种静态方法,创建2*2 的按钮网格的按钮网格 v11 deindex = GUI.SelectionGrid(new Rect(Screen.width / 4, Screen.height / 7, Screen.width / 5, v12 Screen.height / 4), deindex,
33、 texture, 2); /使用第二种静态方法,创建使用第二种静态方法,创建2*2 的按钮网格的按钮网格 第32页 3.1.10 HorizontalScrollbar控件 与VerticalScrollbar控件 vHorizontalScrollbar控件用于创建一个水平滚动条。控件用于创建一个水平滚动条。VerticalScrollbar控件用于创建一个垂控件用于创建一个垂 直滚动条。直滚动条。 v水平(垂直)滚动条控件,用户都可以为其设定阈值。用户可以拖动滑块在最大值与最小值水平(垂直)滚动条控件,用户都可以为其设定阈值。用户可以拖动滑块在最大值与最小值 之间移动之间移动 。 v1s
34、tatic function HorizontalScrollbar (position : Rect, value : float, size : float, leftValue : float, rightValue : float) : float 2static function HorizontalScrollbar (position : Rect, value : float, size : float, leftValue : float, rightValue : float, style : GUIStyle) : float v3static function Vert
35、icalScrollbar (position : Rect, value : float, size : float, topValue : float, bottomValue : float, style : GUIStyle) :float 第33页 3.1.10 HorizontalScrollbar控件 与VerticalScrollbar控件 第34页 3.1.10 HorizontalScrollbar控件 与VerticalScrollbar控件 v3public class Demo : MonoBehaviour v4 private float value; /水平滚动
36、条当前的数值水平滚动条当前的数值 v5 private float value2; /垂直滚动条当前的数值垂直滚动条当前的数值 v6 void OnGUI() /重写重写OnGUI函数,用于控件绘制函数,用于控件绘制 v7 value = GUI.HorizontalScrollbar(new Rect(Screen.width / 13.5f,Screen.height / 7,Screen.width v8 / 7.5f, Screen.height /8), value, 0.1f, 0.0f, 1.0f); /通过第一种方法创建水通过第一种方法创建水 平滚动条控件平滚动条控件 v9 v
37、alue2 = GUI.VerticalScrollbar(new Rect(Screen.width / 4.5f, Screen.height / 9.5f, Screen.width v10 / 8,Screen.height / 3.5f), value2, 0.1f, 1.0f, 0.0f);/通过第二种方法创建垂通过第二种方法创建垂 直滚动条控件直滚动条控件 第35页 3.1.11 BeginGroup控件 和EndGroup控件 vBeginGroup控件和控件和EndGroup控件需要在一起配合使用以达到对屏幕上的各控件需要在一起配合使用以达到对屏幕上的各 个控件进行分组个控件
38、进行分组 。 vBeginGroup控件用于开始一个组,但必须配套控件用于开始一个组,但必须配套EndGroup来结束一个组来结束一个组 。 v1static function BeginGroup (position : Rect) : void v2static function BeginGroup (position : Rect, text : string) : void 3static function BeginGroup (position : Rect, image : Texture) : void v4static function BeginGroup (positi
39、on : Rect, content : GUIContent, style : GUIStyle) : void 第36页 3.1.11 BeginGroup控件 和EndGroup控件 第37页 3.1.11 BeginGroup控件 和EndGroup控件 v3 public class Demo : MonoBehaviour v4 public float value=25.0f; /用于修用于修 改改Group的位置的位置 v5 public float value2 = 3.5f; v6 void OnGUI() v7 GUI.BeginGroup(new Rect(Screen
40、.width / value, v8 Screen.height / 9.5f, 300, 200); /使用使用BeginGroup将区域限制为将区域限制为300*200 像素大小像素大小 v9 GUI.Box(new Rect(0,0,300,200), v10 第一组第一组n被限制在被限制在400*300的区域内的区域内);/创建一个和限制区域相创建一个和限制区域相 同大小的同大小的Box控件控件 v11 GUI.Button(new Rect(50,50,200,50),按钮一按钮一); /创建创建Button控件控件 第38页 3.1.11 BeginGroup控件 和EndGrou
41、p控件 v12 GUI.Button(new Rect(50, 120, 200, 50), 按钮二按钮二); v13 GUI.EndGroup(); /结束组,需和开始组一起使用结束组,需和开始组一起使用 v14 GUI.BeginGroup(new Rect(Screen.width / value2, v15 Screen.height / 9.5f, 300, 200);/使用使用BeginGroup将区域限制为将区域限制为300*200 像素大小像素大小 v16 GUI.Box(new Rect(0, 0, 300, 200), v17 第二组第二组n被限制在被限制在400*300的
42、区域内的区域内);/创建一个和限制区域相创建一个和限制区域相 同大小的同大小的Box控件控件 v18 GUI.Button(new Rect(50, 50, 200, 50), 按钮三按钮三);/创建创建Button控件控件 v19 GUI.Button(new Rect(50, 120, 200, 50), 按钮四按钮四); v20 GUI.EndGroup(); /结束组,需和开始组一起使用结束组,需和开始组一起使用 第39页 3.1.12 BeginScrollView控件 和EndScrollView控件 vScrollView控件用于在屏幕上创建滚动视图,通过一片小区域查看较大区域的
43、内容控件用于在屏幕上创建滚动视图,通过一片小区域查看较大区域的内容 。 vBeginScrollView控件和控件和EndScrollView控件需要配合使用成对存在。并且控件需要配合使用成对存在。并且BeginScrollView 控件会返回控件会返回Vector2类型的返回值,用来记录滚动条被修改的位置类型的返回值,用来记录滚动条被修改的位置 。 v1static function BeginScrollView (position : Rect, scrollPosition : Vector2 , viewRect : Rect) : Vector2 v2static function
44、 BeginScrollView (position : Rect, scrollPosition : Vector2 , viewRect : Rect, alwaysShowHorizontal : bool, alwaysShowVertical : bool, horizontalScrollbar : GUIStyle, verticalScrollbar : GUIStyle) : Vector2 v3 static function EndScrollView () : void 第40页 3.1.12 BeginScrollView控件 和EndScrollView控件 第41
45、页 3.1.12 BeginScrollView控件 和EndScrollView控件 v1using UnityEngine; v2using System.Collections; v3public class Demo : MonoBehaviour v4 private Vector2 scrollPosition=Vector2.zero; /声明声明 一个一个Vector2变量,储存滚动的位置变量,储存滚动的位置 v5 void OnGUI()/重写重写OnGUI函数,用于控件绘制函数,用于控件绘制 v6 scrollPosition = GUI.BeginScrollView(n
46、ew Rect(Screen.width / 25, v7 Screen.height / 9.5f, 300, 200), scrollPosition, 第42页 3.1.12 BeginScrollView控件 和EndScrollView控件 v8 new Rect(0, 0, 400, 300), false, false); /创建一个创建一个300*200的滚动视图,滚的滚动视图,滚 动内容为动内容为400*300 v9 GUI.Box(new Rect(0,0,400,300),Box控件的大小和滚动视图控件的大小和滚动视图n控件能够查看的控件能够查看的 区域的大小相同区域的大
47、小相同); v10 GUI.Button(new Rect(0,0,80,50),左上角左上角); /创建四个按钮放置在被查看区域创建四个按钮放置在被查看区域 的四个角的四个角 v11 GUI.Button(new Rect(320, 0, 80, 50), 右上角右上角); v12 GUI.Button(new Rect(0,250, 80, 50), 左下角左下角); v13 GUI.Button(new Rect(320, 250, 80, 50), 右下角右下角); v14 GUI.EndScrollView(); /创建结束滚动视图控件创建结束滚动视图控件 v15 第43页 3.1.
48、13 Window控件 vWindow控件用于创建一个弹出窗口,窗口浮动在普通控件用于创建一个弹出窗口,窗口浮动在普通GUI控件之上控件之上 。 vWindow控件不同于其他控件,开发人员需要为控件不同于其他控件,开发人员需要为GUI控件传递给它们一个单独的函数放进窗控件传递给它们一个单独的函数放进窗 口。并且可以使用一样的函数创建多个窗口,但每个窗口都要有唯一的口。并且可以使用一样的函数创建多个窗口,但每个窗口都要有唯一的ID。在窗口中创建的。在窗口中创建的 其他控件都以其他控件都以Window控件的左上角为原点(控件的左上角为原点(0,0),并且),并且Window控件可以获取焦点。控件可
49、以获取焦点。 v1static function Window (id : int, clientRect : Rect, func : WindowFunction, text : string) : Rect 2static function Window (id : int, clientRect : Rect, func : WindowFunction, image : Texture) : Rect v3static function Window (id : int, clientRect : Rect, func : WindowFunction, title : GUICon
50、tent , style : GUIStyle) : Rect 第44页 3.1.13 Window控件 第45页 3.1.13 Window控件 v1using UnityEngine; v2using System.Collections; v3public class Demo : MonoBehaviour v4 private int windowID=0; /窗口窗口ID,每一个窗口都要有唯一的,每一个窗口都要有唯一的ID v5 private int windowID2 = 1; v6 private Rect windowRect=new Rect(Screen.width /
51、 25, v7 Screen.height / 9.5f, 200, 150); /窗口在窗口在 屏幕上的位置以及大小屏幕上的位置以及大小 v8 private Rect windowRect2 = new Rect(Screen.width / 4.5f, Screen.height / 9.5f, 200, 150); 第46页 3.1.13 Window控件 v9 void OnGUI() v10 windowRect = GUI.Window(windowID, windowRect, v11 createWindow, 创建创建Window控件控件); /通过第一种静态方法创建一个窗
52、口通过第一种静态方法创建一个窗口 v12 windowRect2 = GUI.Window(windowID2, windowRect2, createWindow2, “ 第二个第二个Window控件控件); v13 v14 void createWindow(int ID) /该方法需要有一个形参该方法需要有一个形参 v15 GUI.Button(new Rect(50, 50, 100, 80), 按钮一按钮一); /创建创建Button控件控件 v16 v17 void createWindow2(int ID) v18 GUI.Button(new Rect(50, 50, 100,
53、 80), 按钮二按钮二); 第47页 3.1.14 skin皮肤 v皮肤的使用是对皮肤的使用是对Unity中中GUI图形用户界面系统整体风格的修改图形用户界面系统整体风格的修改 。 v点击创建好的皮肤文件,在点击创建好的皮肤文件,在Inspector面板处会显示出其可以影响到的所有控面板处会显示出其可以影响到的所有控 件件 如图如图3-36所示,展开任何一个控件菜单会显示其可以修改的内容,如图所示,展开任何一个控件菜单会显示其可以修改的内容,如图3- 37所列所列 第48页 3.1.14 skin皮肤 第49页 3.1.14 skin皮肤 效果效果 第50页 3.1.14 skin皮肤 v3
54、public class Demo : MonoBehaviour v4public GUISkin skins; /皮肤样式数组,用于储存多种皮肤皮肤样式数组,用于储存多种皮肤 v5private int skinIndex; /皮肤数组索引,通过索引来改变为相应皮肤数组索引,通过索引来改变为相应 的皮肤文件的皮肤文件 v6void Awake()/重写系统重写系统Awake函数,当脚本加载时会被调用函数,当脚本加载时会被调用 v7 Debug.LogWarning(请在面板处添加三个皮肤文件请在面板处添加三个皮肤文件); /打印打印 警告,该案例需要放置三个皮肤文件警告,该案例需要放置三个
55、皮肤文件 v8 return ; v9 第51页 3.1.14 skin皮肤 v10void OnGUI() /重写重写OnGUI函数,该函数用于对图形控件的绘制函数,该函数用于对图形控件的绘制 v11 GUI.skin=skinsskinIndex; /根据索引为根据索引为GUI设置不同的皮肤文件设置不同的皮肤文件 v12 if (GUI.Button(new Rect(Screen.width / 3, v13 Screen.height /9, 300, 100), 第一种样式第一种样式) /对对Button进行定位、命名进行定位、命名 v14 skinIndex = 0; /当点击此当
56、点击此Button时会将皮肤样式更换为第一个皮肤文件时会将皮肤样式更换为第一个皮肤文件 v15 v16 if (GUI.Button(new Rect(Screen.width / 3, Screen.height /2.5f, 300, 100), 第第 二种样式二种样式) v17 skinIndex = 1; /当点击此当点击此Button时会将皮肤样式更换为第二个皮肤文件时会将皮肤样式更换为第二个皮肤文件 v18 v19 if (GUI.Button(new Rect(Screen.width / 3, Screen.height /1.5f, 300, 100), 第第 三种样式三种样
57、式) v20 skinIndex = 2; /当点击此当点击此Button时会将皮肤样式更换为第三个皮肤文件时会将皮肤样式更换为第三个皮肤文件 第52页 3.1.15 GUI图形用户界面的变量 vGUI系统提供了很多图形组件的变量,通过这些变量,可以对创建的系统提供了很多图形组件的变量,通过这些变量,可以对创建的GUI控件控件 进行设置。进行设置。BeginGroup控件用于开始一个组,但必须配套控件用于开始一个组,但必须配套EndGroup来结束来结束 一个组一个组 。 vGUI系统提供的图形组件变量功能丰富,例如设置文字颜色、组件背景、是否系统提供的图形组件变量功能丰富,例如设置文字颜色、
58、组件背景、是否 启动相关图形组件等等,通过不同变量间的组合可以创建出精美的游戏界面。启动相关图形组件等等,通过不同变量间的组合可以创建出精美的游戏界面。 第53页 3.1.15 GUI图形用户界面的变量 第54页 3.1.15 GUI图形用户界面的变量 v4 public GUIContent guiContent; /声明两个声明两个GUIContent变量变量 v5 public GUIContent guiContent2; v6 private bool guiEnable; /设置控件启用、禁用判断标志位设置控件启用、禁用判断标志位 v7 void OnGUI() /重写系统重写系统
59、OnGUI函数用于控件绘制函数用于控件绘制 v8 GUI.color=Color.green; /color变量用于更改其下所有控件的文字、背景颜色变量用于更改其下所有控件的文字、背景颜色 v9 GUI.BeginGroup(new Rect(Screen.width / 25, v10 Screen.height / 9.5f, 300, 200); /创建一个开始组控件,将其他控件都放入其中创建一个开始组控件,将其他控件都放入其中 v11 GUI.Box(new Rect(0,0,300,200),300*200像素大小的区域像素大小的区域); /放入放入Box控件控件 v12 if (G
60、UI.Button(new Rect(50, 50, 200, 50), guiContent) /创建创建Button控件,控件, 更改标志位更改标志位 v13 guiEnable=!guiEnable; /每点击一次将标志位置反每点击一次将标志位置反 v14 第55页 3.1.15 GUI图形用户界面的变量 v15 GUI.enabled = guiEnable; /设置设置enabled变量变量 v16 GUI.color = Color.yellow; /color变量用于更改其下所有控件的文字、背景颜色变量用于更改其下所有控件的文字、背景颜色 v17 if (!guiEnable)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中职(服装制作与生产管理)服装生产流程试题及答案
- 2025年中职(财经法规实训综合)强化提升阶段测试试题及答案
- 2025年大学大一(物联网工程)物联网系统集成试题及答案
- 2025 小学四年级思想品德下册情绪调节情景模拟课课件
- 【历史】伟大的历史转折课件 2025-2026学年统编版八年级历史下册
- 教务专员培训
- 摩登红人介绍
- 2025 小学四年级思想品德下册公共场合轻声细语行动课件
- 养老院老人康复设施维修人员福利待遇制度
- 信息技术安全规范制度
- GB/T 6003.2-2024试验筛技术要求和检验第2部分:金属穿孔板试验筛
- 离婚协议标准版(有两小孩)
- 浙江省台州市路桥区2023-2024学年七年级上学期1月期末考试语文试题(含答案)
- 假体隆胸后查房课件
- 2023年互联网新兴设计人才白皮书
- DB52-T 785-2023 长顺绿壳蛋鸡
- c语言知识点思维导图
- 关于地方储备粮轮换业务会计核算处理办法的探讨
- GB/T 29319-2012光伏发电系统接入配电网技术规定
- GB/T 1773-2008片状银粉
- GB/T 12007.4-1989环氧树脂粘度测定方法
评论
0/150
提交评论