Unity UGUI Button

目录

Button参数

Button事件

通过可视化界面绑定按钮事件:

 通过代码绑定按钮事件


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版权协议,转载请附上原文出处链接和本声明。