UGUI获取Button的按下,抬起,离开等事件

1. 通过直接绑定脚本来绑定事件

1 : 建一个ButtonTest脚本,挂在一个游戏对象上(里面的方法public或private都可以).

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ButtonTest : MonoBehaviour {
    
    private GameObject Obj;
    private void Start()
    {
        Obj = GameObject.Find("Button");
        Obj.GetComponent

2 : 运行,点击按钮执行两个方法.

Obj.GetComponent

3. 通过 EventTrigger 实现按钮点击事件(一) 

1 : 创建一个ButtonClickTest 脚本, 利用 UnityEngine.EventSystems.EventTrigger 添加监听事件.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;


// 此请求为自动添加 EventTrigger 脚本
[RequireComponent(typeof(UnityEngine.EventSystems.EventTrigger))]
public class ButtonTest : MonoBehaviour
{

    // Use this for initialization
    void Start()
    {
        Button  _button = this.GetComponent

2 :把脚本挂在Button对象上,然后Unity会给Button游戏对象再挂一个EventTrigger脚本.

 3 :运行.


4. 通过 EventTrigger 实现按钮点击事件(二)

 1 :写一个脚本挂在一个游戏对象,例如相机上(和按钮关联的事件方法要声明为public).

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;


public class ButtonTest : MonoBehaviour
{
    // Use this for initialization
    void Start()
    {
    }
    public void Func1()
    {
        Debug.Log("鼠标点击了!");
    }
    public void Func2()
    {
        Debug.Log("鼠标进入了!");
    }
    public void Func3()
    {
        Debug.Log("鼠标滑出了!");
    }
    public void Func4()
    {
        Debug.Log("鼠标按下了!");
    }
    public void Func5()
    {
        Debug.Log("鼠标抬起了!");
    }
}

2 :给Button游戏对象添加EventTrigger组件.

 3 :在组件里添加对应的事件,选择对应的方法.


UGUI获取Button的按下,抬起,离开等事件_第1张图片

4 :运行,鼠标在按钮上运动,点击


你可能感兴趣的:(Unity3D)