目录
Button参数
Interactable:是否可交互
Transition:在EventSystem中,存在一个当前被选中按钮,我们可以通过按下上下左右,使被选中按钮进行更改

None:无
Color Tint:颜色交互


- Normal Color:正常情况下的颜色
- Highlighted Color:鼠标放在按钮上显示的颜色
- Pressed Color:鼠标按下显示的颜色
- Selected Color:鼠标选中显示的颜色
- Disabled Color:取消勾选Interactable显示的颜色
Sprite Swap:图片交互


- Highlighted Sprite:鼠标放在按钮上显示的图片
- Pressed Sprite:鼠标按下显示的图片
- Selected Sprite:鼠标选中显示的图片
- Disabled Sprite:取消勾选Interactable显示的图片
Animation:动画交互
1.单击Auto Generate Animation会自动创建一个Button动画


2. 然后选中按钮打开Animation窗口(按Ctrl+6),即可为Button设置动画。
- Normal Color:正常情况下的动画
- Highlighted Color:鼠标放在按钮上显示的动画
- Pressed Color:鼠标按下显示的动画
- Selected Color:鼠标选中显示的动画
- Disabled Color:取消勾选Interactable显示的动画
Visualize:显示控件之间的导航

- 选中Visualize(垂直)然后复制一个Button,会在Botton之间创建一个链接,运行时选中第一个,然后按下键盘上的上下方向键可以直接导航道对应按钮上
- Horizontal(水平)按左右方向键
- Explicit(指定按钮)指定按钮后无论怎么导航都会导航到指定的按钮上

Button事件
通过可视化界面绑定按钮事件:
创建一个脚本
public void ClickButton()
{
Debug.Log("你单击了Button");
}将脚本挂载到Button上,点击Button组件下的OnClick事件的“+”,将挂载脚本的Button拖拽到下图位置


即可找到创建的脚本,选中编写的脚本中编写的事件:

在运行时单击按钮,将会响应对应的事件:

通过代码绑定按钮事件:
效果和上边一样
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ButtonTest : MonoBehaviour
{
void Start()
{
this.gameObject.GetComponent<Button>().onClick.AddListener(ClickButton);//脚本绑定按钮事件
}
public void ClickButton()
{
Debug.Log("你单击了Button");
}
}
绑定带参数的事件:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ButtonTest : MonoBehaviour
{
void Start()
{
string str = "你单击了带参数的事件";
this.gameObject.GetComponent<Button>().onClick.AddListener(()=>ClickButton(str));//脚本绑定按钮事件
}
public void ClickButton(string str)
{
Debug.Log(str);
}
}

版权声明:本文为W__YH原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。