1、ControlsControls控制类型你可以创建大量的不同的GUI控制,这部分列出了所有可以显示和交互的控制,有其他一些GUI函数影响了控制的布局,在导读中的Layout部分有描述。Label标签标签是一种非交互的,它只能显示,不能被点击或移动,它最适合于显示信息。/* GUI.Label example */function OnGUI () GUI.Label (Rect (25, 25, 100, 30), Label);这个标签是示例代码创建的Button 按钮按钮是一种典型的交互按钮,它在点击的时候会响应一次,不管鼠标持续按多长时间,响应在鼠标点击结束的时候。Basic Usage
2、 基础用法在UnityGUI中,按钮会在点击的时候返回 true,执行你包含在GUI.Button中的if语句中相应的命令。/* GUI.Button example */function OnGUI () if (GUI.Button (Rect (25, 25, 100, 30), Button) / This code is executed when the Button is clicked 这个按钮是由上面例子创建的RepeatButton 重复按钮重复按钮是一个常规按钮变量。不同的是,重复按钮在鼠标按下的每帧作出回应,这将帮助你实现持续点击功能。Basics Usage 基础用法
3、在UnityGUI中,重复按钮将会在各一个鼠标点击的帧内返回true,在按钮点击的时候执行你包含在GUI重复按钮函数中的if语句,if语句中的代码将会在重复按钮被执行。/* GUI.RepeatButton example */function OnGUI () if (GUI.RepeatButton (Rect (25, 25, 100, 30), RepeatButton) / This code is executed every frame that the RepeatButton remains clicked 这个重复按钮就是上面的示例代码创建的TextField 文本区域文本
4、区域控制是一个交互的、可编辑的、独行的字符串。Basic Usage 基础用法文本区域永远显示一串代码,你必须提供在文本区域显示的代码,当字符编辑时,文本区域函数将返回编辑串。/* GUI.TextField example */var textFieldString = text field;function OnGUI () textFieldString = GUI.TextField (Rect (25, 25, 100, 30), textFieldString);文本区域是由示例代码创建的TextArea 文本面积 文本面积控制是一个交互的,可编辑的、多行的包括字符串的区域。Bas
5、ic Usage 基础用法文本面积总是显示字符串,你必须提供面积显示的内容,当编辑串时,文本面积将返回编辑的串。/* GUI.TextArea example */var textAreaString = text area;function OnGUI () textAreaString = GUI.TextArea (Rect (25, 25, 100, 30), textAreaString);这个文本面积是由示例代码创建的Toggle 棒形按钮棒形按钮控制创建一个持续的状态的检验盒,用户可以通过点击它来转换状态。Basic Usage 基础用法棒形按钮开/关状态代表一个 true/fa
6、lse 布尔运算,你必须提供布尔参数来让棒形按钮来表示实际状态,如果点击则棒形按钮函数将返回一个新的布尔值,为了捕捉交互作用,你必须分配给布尔函数接受棒形按钮的返回函数。/* GUI.Toggle example */var toggleBool = true;function OnGUI () toggleBool = GUI.Toggle (Rect (25, 25, 100, 30), toggleBool, Toggle);棒形按钮是由示例代码创建的Toolbar 工具栏工具栏是一串按钮,工具栏的按钮一次只能激活一个,并且它将保持激活的状态直到另一个不同的按钮点击时,这种行为与工具栏的
7、典型行为竞争,你可以在工具栏上定义专门的按钮。Basic Usage 基础用法 在工具栏上通过整数激活按钮,你必须在函数中提供整数数据。你必须定义整数来返回函数值,让工具栏实现交互。你提供元素数列的个数将会定义工具栏显示按钮的个数。/* GUI.Toolbar example */var toolbarInt = 0;var toolbarStrings : String = Toolbar1, Toolbar2, Toolbar3;function OnGUI () toolbarInt = GUI.Toolbar (Rect (25, 25, 250, 30), toolbarInt, t
8、oolbarStrings);这个工具栏由示例代码创建SelectionGrid 网格选择网格选择控制是一个多行/多列的工具栏,你可以网格的列数和行数,一次只能激活一个按钮。Basic Usage 基础用法 在网格选择通过整数跟踪激活按钮,你必须提供一个整数函数,让网格选择实现交互,你必须定义一个整数函数返回值。你提供元素数列的个数将会定义工具栏显示按钮的个数,你也可以通过函数定义列数。/* GUI.SelectionGrid example */var selectionGridInt : int = 0;var selectionStrings : String = Grid 1, Gri
9、d 2, Grid 3, Grid 4;function OnGUI () selectionGridInt = GUI.SelectionGrid (Rect (25, 25, 100, 30), selectionGridInt, selectionStrings, 2);网格选择由示例代码创建HorizontalSlider 水平滑道水平滑道控制是一种典型的滑动按钮,用来控制在预先确定的最大值和最小值之间进行取值。Basic Usage 基础用法滑块的位置可以浮动显示,通过滑块的位置,你可以提供一个浮动的函数,有两个额外定义的最大值和最小值,如果你像通过滑动滑块来进行调整,可以定义滑块函
10、数的返回值。/* Horizontal Slider example */var hSliderValue : float = 0.0;function OnGUI () hSliderValue = GUI.HorizontalSlider (Rect (25, 25, 100, 30), hSliderValue, 0.0, 10.0);水平滑块是由示例代码创建的VerticalSlider垂直滑块垂直滑道控制是一种典型的滑动按钮,用来控制在预先确定的最大值和最小值之间进行取值。Basic Usage 基础用法滑块的位置可以浮动显示,通过滑块的位置,你可以提供一个浮动的函数,有两个额外定义
11、的最大值和最小值,如果你像通过滑动滑块来进行调整,可以定义滑块函数的返回值。/* Vertical Slider example */var vSliderValue : float = 0.0;function OnGUI () vSliderValue = GUI.VerticalSlider (Rect (25, 25, 100, 30), vSliderValue, 10.0, 0.0);垂直滑块是由示例代码创建的HorizontalScrollbar 水平卷轴水平卷轴控制是一个与滑道相似的控制,在视觉上与Web浏览器或WORD相似的滑动元件,用来实现滑动控制浏览。Basic Usag
12、e 基础用法 水平卷轴是与水平滑道相类似的工具,除了一点:水平卷轴有一个额外的函数控制卷轴自己的宽度。/* Horizontal Scrollbar example */var hScrollbarValue : float;function OnGUI () hScrollbarValue = GUI.HorizontalScrollbar (Rect (25, 25, 100, 30), hScrollbarValue, 1.0, 0.0, 10.0);水平卷轴由示例代码创建VerticalScrollbar 垂直卷轴垂直卷轴控制是一个与滑道相似的控制,在视觉上与Web浏览器或WORD相似
13、的滑动元件,用来实现滑动控制浏览。Basic Usage 基础用法 垂直卷轴是与垂直滑道相类似的工具,除了一点:垂直卷轴有一个额外的函数控制卷轴自己的宽度。/* Vertical Scrollbar example */var vScrollbarValue : float;function OnGUI () vScrollbarValue = GUI. VerticalScrollbar (Rect (25, 25, 100, 30), vScrollbarValue, 1.0, 10.0, 0.0);垂直卷轴由示例代码创建ScrollView 卷轴浏览 卷轴浏览是可见的显示区域的一系列控制
14、Basic Usage 基础用法卷轴浏览需要两个Rects命令,第一个Rect定义可见的卷轴区域在屏幕上的位置和尺寸,第二个Rect定义可见区域内部的空间。如果内部空间的可见区域大于外部的可见区域,卷轴浏览将会适当的出现,你必须定义并且提供2D矢量来存储可见区域的显示。/* ScrollView example */var scrollViewVector : Vector2 = Vector2.zero;var innerText : String = I am inside the ScrollView;function OnGUI () / Begin the ScrollView sc
15、rollViewVector = GUI.BeginScrollView (Rect (25, 25, 100, 100), scrollViewVector, Rect (0, 0, 400, 400); / Put something inside the ScrollView innerText = GUI.TextArea (Rect (0, 0, 400, 400), innerText); / End the ScrollView GUI.EndScrollView();卷轴显示是由示例代码创建的Window 视窗视窗是可拉伸的控制容器,它可以在点击时进行调整焦点,它和别的控制有细微的差别,每一个视窗有一个ID数字,它包括公示内部分离函数在视窗聚焦的时候会被调用。Basic Usage 基础用法视窗只有一种控制,它需要一种附加函数才能正常工作,你必须提供一个ID数字和
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1