本周任务
上周我已经初步接触了unity3d中的UI界面,这周我想学习一下unity中的交互组件并实现一个小的界面demo。这一部分先介绍一下unity中的交互组件。如有不正确的地方,欢迎指正。
交互组件
交互组件就是关于在UI系统中掌控交互的组件,例如鼠标或者触摸事件,以及使用键盘或控制器的交互。 交互组件自身不可见,并且为了正确地工作,它必须被一个或多个可见元素所包含。
1. 共有功能
大部分交互组件有相同的部分,如text、image。它们是可选择的,意味着它们已经共享了:在状态(普通,高亮,按下,不可用)之间可见的切换,以及使用键盘或控制器到其它可选项的导航,这些内建功能。下面我详细叙述Button、Toggle中的具体内容,其他的交互组件与Button相同的设置功能就不重复赘述,主要阐述各个部分特点。
2.Button
通过 menu->GameObject->UI->Button打开Button组件。
Button是一个点击Unity事件来定义当被点击时会做什么,一般是由text、image和按钮控制组成。
- text
Button中的Text指按钮中的文字,具体的处理方法同UI下的text一致。 - image
Button中的image指按钮填充的背景,将处理好的sprite拖入SourceImage即可,在Color栏指定拖入精灵的颜色,下图是我插入一个精灵的效果图:
- 按钮控制
按钮控制通过对来自用户的点击的反应,并且被用来初始化或确认一个动作。常见的例子有在网页表单中的提交和退出按钮。可以对按钮的按下弹起的效果进行设置,还可以通过脚本控制响应效果。
注:在Transition中可以对按钮进行颜色或者图片或者动画等的处理。
3. Toggle
通过 menu->GameObject->UI->Toggle打开Toggle组件。
Toggle(开关)是一个决定了某一开关当前是开启或关闭的选择项。当用户点击开关时,值被改变;并且一个对勾会由此打开或关闭。
同Button一样是由text、image和按钮控制组成。
- text、image
text、image具体设置同Button一样,就不再赘述。 - 按钮控制
按钮控制是定义一个当值改变时就触发的OnValueChang。开关控制允许用户对选项的开关状态进行切换。当同一时间里一系列开关中仅有一个开关能够开启时,你也可以在一个开关组中包含若干个开关。 当用户改变当前值时,开关有一个名为 On Value Changed 的单一事件,会进行反应。新的值会作为一个布尔型参数传递给事件函数。
4. 开关组
开关组可以用来将一系列互斥使用的选项形成一组。属于同一组的开关被认为,在同一时间仅有其中一个能被选中——选中它们中的一个,自动弃选其它所有的。
查看Toggle Group页面来获得关于开关组组件的细节。
5.Slide
通过 menu->GameObject->UI->Slide打开Slide组件。
Slide(滑块)有个用户可以在最小值和最大值之间拖拽的十进制数值。滑块可以是水平或者垂直的。它同样也有一个定义了当值改变时如何反应的OnValueChanged的Unity事件。
6. Scrollbar
通过 menu->GameObject->UI->Scrollbar打开Scrollbar组件。
Scrollbar(滚动条)有个在0到1之间的小数。当用户拖拽滚动条时,值对应地改变。 滚动条通常与一个滚动矩形及遮罩一起使用,来创建一个滚动视图。滚动条有个在0到1之间的Size值,决定了当前部分与完整滚动条长度的比例有多大。这通常被另一个组件所控制,来指明在一个滚动视图中多少比例的内容可见。滚动矩形组件可以自动地做到这一点。
滚动条可以是水平或者垂直的。它也有一个值被改变时定义如何执行的OnValueChanged的Unity事件。
7. Dropdown
通过 menu->GameObject->UI->Dropdown打开Dropdown组件。
Dropdown(下拉框)有可以从中选择的选项列表。对于每个选项,可以指定一个文本串或一张图片来指代,并且可以在检视器里设置或者在代码中动态设置。它有一个在值被改变时,定义如何执行的OnValueChanged的Unity事件。
8. Scroll View
通过 menu->GameObject->UI->Scroll View打开Scroll View组件。
一个Scroll View(滚动框)可在占用了大量空间的内容需要在一个小区域中显示的情况下被使用。滚动狂提供了滚动显示内容的功能。
通常滚动框包含遮罩,以创建一个滚动视图,只有在滚动框中滚动区域的内容可见。它也可以额外地包含一个或两个滚动条,可以水平或垂直地滚动。