UnityUI—Button

254 阅读4分钟

一、创建Button按钮

在Hierarchy面板右键 > UI > Button。这样创建的Button结构为

image.png

其包含三个UI组件:Image、Text以及Button,其中Image用来显示按钮背景,Text用来显示按钮上的文字,而Button用来实现点击交互功能。 我们还可以手动组装Button:先创建一个Image,再给Image组件所在物体添加一个Button组件,如果需要最后还可以添加一个Text作为子物体显示文字。

二、Button组件属性

image.png

三、介绍

默认情况下,能够进行交互的UI组件有部分相同的属性:Interactable、Transition、Navigation 1.Interactable属性,切换该UI组件的可交互性 2.Transition属性,此属性是用来调整UI交互的效果的,比如鼠标点击UI时出现的颜色变化、图片切换、动画切换等。 3.Navigation属性,导航属性,用户可以使用方向键快速切换需要选择的UI控件。

1、Interactable属性

image.png

勾选表示该UI组件可交互,不勾选表示不可交互。

2、Transition 属性

(1).Transition :Color Tint(颜色变化)

鼠标对该UI进行交互,会有颜色变化效果。

image.png

属性功能
Target Graphic起作用的图像
Normal Color普通颜色,平时呈现的颜色
Highlighted Color鼠标触碰或悬停时的颜色
Pressed Color鼠标按下时的颜色
Selected Color选中该UI时的颜色
Disabled Color不可交互时的颜色(将UI的Interactble取消勾选)
Color Multiplier颜色系数(最终颜色 = Image颜色状态颜色颜色系数,影响上面的所有状态的颜色。如最终显示高亮颜色 = Image颜色Highighted ColorColor Multiplier)
Fade Duration渐变时间 (一种状态切换至另一种状态时,颜色渐变切换所需时长,单位为秒。)

(2).Transition :Sprite Swap (图片改变,图片为Sprite类型)

image.png

属性功能
Target Graphic默认image
Highlighted Sprite高亮时图片(鼠标进入按钮区域时显示的图片)
Pressed SpritePressed Sprite
Selected Sprite选中时图片
Disabled Sprite无效时图片(将UI的Interactble取消勾选)

(3).Transition:Animation (动画)

这一项会比前两项稍微复杂些,因为涉及到了动画。

Ⅰ.属性

image.png

属性功能
Normal Trigger正常Trigger
Highlighted Trigger高亮Trigger
Selected Trigger选中Trigger
Disabled Trigger无效Trigger
Auto Generate Animation自动生成动画

Ⅱ.使用方法

1.点击Auto Generate Animation按钮后,会弹出文件浏览窗口让我们选择自动生成的Animator Controller要存放的文件夹。 2.选好文件夹后,会自动生成带有五个动画的Controller,同时给我们的UI物体自动添加Animator组件。 3.接下来只需要选中生成的Controller,并在Animation面板中编辑对应的动画即可。

3.Navigation属性 当我们选中某个UI组件时,通过键盘的方向键可以快速选中下一个UI组件。而Navigation属性就是用来确定哪个UI控件是下一个UI控件的。

image.png

1.下拉框中的选项含义(下面的“按钮”可替换成所有的可交互UI组件)

选项含义
Navigation导航(当选中当前按钮时,按方向键导航并选中另一个按钮。另一个按钮也需要启用导航才行)
None不启用
Everything开启所有
Horizontal启用水平方向的导航,并自动检测对应按钮(←→)
Vertical启用垂直方向的导航,并自动检测对应按钮(↑↓)
Explicit自定义上下左右按键对应的按钮

2.Visualize: 显示导航路径(路径起点在按钮上/下/左/右面就对应方向键上/下/左/右)

image.png

四、事件OnClick

1、引言

每个可互动组件都有相应的互动事件,比如按钮的点击事件、单选框的值改变事件。此篇笔记用来记录关于事件绑定的相关内容。

2如何绑定

我们可以在每个可互动组件的最下方添加该组件的事件函数,添加函数的方法是通过指定具体物体里的具体脚本中的具体public函数实现,这里以Toggle组件为例。

image.png

接着点击+号,再把Canvas拖入物体栏中,这样我们就指定了具体物体。