Controls.docx
《Controls.docx》由会员分享,可在线阅读,更多相关《Controls.docx(15页珍藏版)》请在冰豆网上搜索。
![Controls.docx](https://file1.bdocx.com/fileroot1/2022-11/20/9fc22b32-f23a-44ea-a387-677b5689549c/9fc22b32-f23a-44ea-a387-677b5689549c1.gif)
Controls
Controls
控制类型
你可以创建大量的不同的GUI控制,这部分列出了所有可以显示和交互的控制,有其他一些GUI函数影响了控制的布局,在导读中的Layout部分有描述。
Label标签
标签是一种非交互的,它只能显示,不能被点击或移动,它最适合于显示信息。
/*GUI.Labelexample*/
functionOnGUI(){
GUI.Label(Rect(25,25,100,30),"Label");
}
这个标签是示例代码创建的
Button按钮
按钮是一种典型的交互按钮,它在点击的时候会响应一次,不管鼠标持续按多长时间,响应在鼠标点击结束的时候。
BasicUsage基础用法
在UnityGUI中,按钮会在点击的时候返回true,执行你包含在GUI.Button中的if语句中相应的命令。
/*GUI.Buttonexample*/
functionOnGUI(){
if(GUI.Button(Rect(25,25,100,30),"Button")){
//ThiscodeisexecutedwhentheButtonisclicked
}
}
这个按钮是由上面例子创建的
RepeatButton重复按钮
重复按钮是一个常规按钮变量。
不同的是,重复按钮在鼠标按下的每帧作出回应,这将帮助你实现持续点击功能。
BasicsUsage基础用法
在UnityGUI中,重复按钮将会在各一个鼠标点击的帧内返回true,在按钮点击的时候执行你包含在GUI重复按钮函数中的if语句,if语句中的代码将会在重复按钮被执行。
/*GUI.RepeatButtonexample*/
functionOnGUI(){
if(GUI.RepeatButton(Rect(25,25,100,30),"RepeatButton")){
//ThiscodeisexecutedeveryframethattheRepeatButtonremainsclicked
}
}
这个重复按钮就是上面的示例代码创建的
TextField文本区域
文本区域控制是一个交互的、可编辑的、独行的字符串。
BasicUsage基础用法
文本区域永远显示一串代码,你必须提供在文本区域显示的代码,当字符编辑时,文本区域函数将返回编辑串。
/*GUI.TextFieldexample*/
vartextFieldString="textfield";
functionOnGUI(){
textFieldString=GUI.TextField(Rect(25,25,100,30),textFieldString);
}
文本区域是由示例代码创建的
TextArea文本面积
文本面积控制是一个交互的,可编辑的、多行的包括字符串的区域。
BasicUsage基础用法
文本面积总是显示字符串,你必须提供面积显示的内容,当编辑串时,文本面积将返回编辑的串。
/*GUI.TextAreaexample*/
vartextAreaString="textarea";
functionOnGUI(){
textAreaString=GUI.TextArea(Rect(25,25,100,30),textAreaString);
}
这个文本面积是由示例代码创建的
Toggle棒形按钮
棒形按钮控制创建一个持续的状态的检验盒,用户可以通过点击它来转换状态。
BasicUsage基础用法
棒形按钮开/关状态代表一个true/false布尔运算,你必须提供布尔参数来让棒形按钮来表示实际状态,如果点击则棒形按钮函数将返回一个新的布尔值,为了捕捉交互作用,你必须分配给布尔函数接受棒形按钮的返回函数。
/*GUI.Toggleexample*/
vartoggleBool=true;
functionOnGUI(){
toggleBool=GUI.Toggle(Rect(25,25,100,30),toggleBool,"Toggle");
}
棒形按钮是由示例代码创建的
Toolbar工具栏
工具栏是一串按钮,工具栏的按钮一次只能激活一个,并且它将保持激活的状态直到另一个不同的按钮点击时,这种行为与工具栏的典型行为竞争,你可以在工具栏上定义专门的按钮。
BasicUsage基础用法
在工具栏上通过整数激活按钮,你必须在函数中提供整数数据。
你必须定义整数来返回函数值,让工具栏实现交互。
你提供元素数列的个数将会定义工具栏显示按钮的个数。
/*GUI.Toolbarexample*/
vartoolbarInt=0;
vartoolbarStrings:
String[]=["Toolbar1","Toolbar2","Toolbar3"];
functionOnGUI(){
toolbarInt=GUI.Toolbar(Rect(25,25,250,30),toolbarInt,toolbarStrings);
}
这个工具栏由示例代码创建
SelectionGrid网格选择
网格选择控制是一个多行/多列的工具栏,你可以网格的列数和行数,一次只能激活一个按钮。
BasicUsage基础用法
在网格选择通过整数跟踪激活按钮,你必须提供一个整数函数,让网格选择实现交互,你必须定义一个整数函数返回值。
你提供元素数列的个数将会定义工具栏显示按钮的个数,你也可以通过函数定义列数。
/*GUI.SelectionGridexample*/
varselectionGridInt:
int=0;
varselectionStrings:
String[]=["Grid1","Grid2","Grid3","Grid4"];
functionOnGUI(){
selectionGridInt=GUI.SelectionGrid(Rect(25,25,100,30),selectionGridInt,selectionStrings,2);
}
网格选择由示例代码创建
HorizontalSlider水平滑道
水平滑道控制是一种典型的滑动按钮,用来控制在预先确定的最大值和最小值之间进行取值。
BasicUsage基础用法
滑块的位置可以浮动显示,通过滑块的位置,你可以提供一个浮动的函数,有两个额外定义的最大值和最小值,如果你像通过滑动滑块来进行调整,可以定义滑块函数的返回值。
/*HorizontalSliderexample*/
varhSliderValue:
float=0.0;
functionOnGUI(){
hSliderValue=GUI.HorizontalSlider(Rect(25,25,100,30),hSliderValue,0.0,10.0);
}
水平滑块是由示例代码创建的
VerticalSlider垂直滑块
垂直滑道控制是一种典型的滑动按钮,用来控制在预先确定的最大值和最小值之间进行取值。
BasicUsage基础用法
滑块的位置可以浮动显示,通过滑块的位置,你可以提供一个浮动的函数,有两个额外定义的最大值和最小值,如果你像通过滑动滑块来进行调整,可以定义滑块函数的返回值。
/*VerticalSliderexample*/
varvSliderValue:
float=0.0;
functionOnGUI(){
vSliderValue=GUI.VerticalSlider(Rect(25,25,100,30),vSliderValue,10.0,0.0);
}
垂直滑块是由示例代码创建的
HorizontalScrollbar水平卷轴
水平卷轴控制是一个与滑道相似的控制,在视觉上与Web浏览器或WORD相似的滑动元件,用来实现滑动控制浏览。
BasicUsage基础用法
水平卷轴是与水平滑道相类似的工具,除了一点:
水平卷轴有一个额外的函数控制卷轴自己的宽度。
/*HorizontalScrollbarexample*/
varhScrollbarValue:
float;
functionOnGUI(){
hScrollbarValue=GUI.HorizontalScrollbar(Rect(25,25,100,30),hScrollbarValue,1.0,0.0,10.0);
}
水平卷轴由示例代码创建
VerticalScrollbar垂直卷轴
垂直卷轴控制是一个与滑道相似的控制,在视觉上与Web浏览器或WORD相似的滑动元件,用来实现滑动控制浏览。
BasicUsage基础用法
垂直卷轴是与垂直滑道相类似的工具,除了一点:
垂直卷轴有一个额外的函数控制卷轴自己的宽度。
/*VerticalScrollbarexample*/
varvScrollbarValue:
float;
functionOnGUI(){
vScrollbarValue=GUI.VerticalScrollbar(Rect(25,25,100,30),vScrollbarValue,1.0,10.0,0.0);
}
垂直卷轴由示例代码创建
ScrollView卷轴浏览
卷轴浏览是可见的显示区域的一系列控制
BasicUsage基础用法
卷轴浏览需要两个Rects命令,第一个Rect定义可见的卷轴区域在屏幕上的位置和尺寸,第二个Rect定义可见区域内部的空间。
如果内部空间的可见区域大于外部的可见区域,卷轴浏览将会适当的出现,你必须定义并且提供2D矢量来存储可见区域的显示。
/*ScrollViewexample*/
varscrollViewVector:
Vector2=Vector2.zero;
varinnerText:
String="IaminsidetheScrollView";
functionOnGUI(){
//BegintheScrollView
scrollViewVector=GUI.BeginScrollView(Rect(25,25,100,100),scrollViewVector,Rect(0,0,400,400));
//PutsomethinginsidetheScrollView
innerText=GUI.TextArea(Rect(0,0,400,400),innerText);
//EndtheScrollView
GUI.EndScrollView();
}
卷轴显示是由示例代码创建的
Window视窗
视窗是可拉伸的控制容器,它可以在点击时进行调整焦点,它和别的控制有细微的差别,每一个视窗有一个ID数字,它包括公示内部分离函数在视窗聚焦的时候会被调用。
BasicUsage基础用法
视窗只有一种控制,它需要一种附加函数才能正常工作,你必须提供一个ID数字和