Button组件
用来响应来自用户的点击来启动或确认操作
属性
1、 Interactable 是否接受事件响应
如果这个不勾选的话,那么这个Button在场景中将无法被点击(当新建一个Canvas或UI组件时Unity会自动创建一个EventSystem,这个EventSystem就是用来监听你的鼠标在UI触发事件的,如果你不需要button的事件交互可以把这个EventSystem删除掉)
2、Transition 按键与用户交互时的过渡
2.1 None(不使用过渡)
2.2 Color Tint(颜色着色过渡)
Color Tint模式是通过定义不同行为时的颜色来进行过渡的
-
Target Graphic:目标图形
通常与Button身上的Image组件绑定,可以把它理解为Button的底纹(就是button上的image组件) -
Normal Color:正常颜色
-
Highlighted Color:高亮颜色(控件突出显示时的颜色)
当鼠标划过Button时的颜色 -
Pressed Color:
按下颜色控件按下时的颜色 -
Selected Color:选择颜色
-
Disabled Color:已禁用颜色
-
Color Multiplier:色彩乘数
经过实际操作后,我自己将它的效果理解为,让当前状态的颜色更明亮
-
Fade Duration:淡化持续时间
从一个状态淡入淡出到另一个状态所需的时间(以秒为单位)
2.3 Sprite Swap(通过按钮上的背景图片变换实现过渡)
它通常与Button身上的Image组件绑定,可以把它理解为Button的底纹
2.4 Animation 动画
点击事件
写一个单击按钮要执行的方法。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class TestUI : MonoBehaviour
{
public void MyButtonEvent()
{
Debug.Log("OK");
}
}
将绑定了脚本的物体拖拽到按钮组件指定位置。
使用代码动态添加事件
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class TestButton : MonoBehaviour
{
void Start ()
{
GetComponent<Button>().onClick.AddListener(ButtonClick);
}
void ButtonClick()
{
Debug.Log("OK");
}
}