常用 UI 控件
- ScrollView(滚动视图)、ScrollBar(滚动条)和 Mask(遮罩)
- ProgressBar(进度条)
- EditBox(输入框)
以下介绍的 UI 控件都可以通过 层级管理器 左上角创建节点菜单中的 子菜单来创建。
ScrollView 是一个典型的组合型控件,通常由以下节点组成:
这个节点上包含 ScrollView 组件,组件属性的详细说明可以查阅 ScrollView 组件参考
content (内容)节点
content 节点用来承载将会在滚动视图中显示的内容,这个节点的约束框通常会远远大于 ScrollView 根节点的约束框,也只有在 content 节点比 ScrollView 节点大时,视图才能有效的滚动。
content 节点可以包括任意数量的子节点,配合 Layout 组件,可以确保 content 节点的约束框等于所有子节点约束框的总和。
ScrollView 中的遮罩是可选的,但我们通常都希望能够隐藏 content 中超出 ScrollView 约束框范围的内容。
ScrollBar(滚动条)节点
滚动条也是可选的,在有鼠标的设备上,我们可以通过滚动条提供鼠标拖拽快速滚动的功能。而在移动设备上,滚动条通常只用于指示内容的总量和当前显示范围。
我们可以同时设置横向和纵向两个滚动条,每个滚动条节点都包含一个 ScrollBar 组件。滚动条节点也可以包括子节点,来同时显示滚动条的前景和背景。详细的属性设置请查阅 ScrollBar 组件参考。
另外值得注意的是,ScrollBar 的 handle 部分的尺寸是可变的,推荐使用 Sliced (九宫格)模式的 Sprite 作为 ScrollBar 的 handle。
通过 层级管理器 菜单创建的 Button 节点,由带有 Button 组件的父节点和一个带有 Label 组件的子节点组成。Button 父节点提供交互功能和按钮背景图显示,Label 子节点提供按钮上标签文字的渲染。
您可以根据美术风格和设计需要,将 Label 节点删除或者替换成需要的其他图标 Sprite。
关于 Button 组件的详细属性说明可以查阅 。
Button 的 Transition
属性用于设置当按钮处在普通(Normal)、按下(Pressed)、悬停(Hover)、禁用(Disabled)四种状态下 Target
属性引用的背景图节点的表现。可以从以下三种模式中选择:
NONE
(无 Transtion),这个模式下按钮不会自动响应交互事件来改变自身外观,但您可以在按钮上加入自定义的脚本来精确控制交互的表现行为。COLOR
(颜色变化),选择这个模式后,能看到四种状态属性并可以为每一种状态设置一个颜色叠加,在按钮转换到对应状态时,设置的状态颜色会和按钮背景图的颜色进行相乘作为展示的颜色。这个模式还允许通过Duration
属性设置颜色变化过程的时间长度,实现颜色渐变的效果。SPRITE
(图片切换),选择这个模式后,可以为四种状态分别指定一个SpriteFrame
图片资源,当对应的状态被激活后,按钮背景图就会被替换为对应的图片资源。要注意如果设置了Normal
状态的图片资源,按钮背景的 Sprite 属性中的SpriteFrame
会被覆盖。
Click Events 点击事件
Button 上的点击事件是为了方便设计师在制作 UI 界面时可以自行指定按钮功能而设置的,要让按钮按照自定义的方式响应更多样化的事件,可以参考 文档,手动在按钮节点上监听这些交互事件并做出处理。
进度条是由 ProgressBar 组件驱动一个 Sprite 节点的属性来实现根据设置的数值显示不同长度或角度的进度。ProgressBar 有三种基本工作模式(由 Mode
属性设置):
- HORIZONTAL 水平进度条
- FILLED 填充进度条
其他的基本属性设置请查阅ProgressBar 组件参考。
模式选择 HORIZONTAL
或 VERTICAL
时,进度条通过修改 Bar Sprite
引用节点的尺寸(width
或 height
属性),来改变进度条显示的长度。在这两种模式下 Bar Sprite
推荐使用 Sliced
九宫格显示模式,这样在节点尺寸产生拉伸的情况下仍能保持高质量的图像渲染结果。
在这两种模式下,Total Length
属性的单位是像素,用来指定进度条在 100% 的状态下(Progress
属性值为 1)Bar Sprite
的长度。这个属性保证我们在编辑场景时可以自由设置 为小于 1 的值,而 Bar Sprite
总是能够记录我们希望的总长度。
填充模式(FILLED)
和上面两种模式不同,填充模式下的进度条会通过按照一定百分比剪裁 Bar Sprite
引用节点来显示不同进度,因此我们需要对 Bar Sprite
引用的 Sprite 组件进行特定的设置。首先将该 Sprite 的 Type
属性设置为 FILLED
,然后可以选择一个填充方向(HORIZONTAL、VERTICAL、RADIAL),详情请查阅 Sprite 填充模式参考文档。
要注意进度条在选择了填充模式后,Total Length
的单位变成了百分比小数,取值范围从 0 ~ 1,设置的 Total Length
数值会同步到 Bar Sprite
的 Fill Range
属性,使之保持一致。下图显示了填充模式进度条当 Bar Sprite
的 Fill Type
设置为 RADIAL
时,不同的 对显示的影响。
输入框的使用方式比较直接,请直接参考 文档里每个属性的说明进行设置即可。