Unity UGUi 怎么判断 点击按钮的抬起和按下

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity UGUi 怎么判断 点击按钮的抬起和按下相关的知识,希望对你有一定的参考价值。

方法:

1、检测按钮的按下与抬起就需要对按钮的事件进行监听。

2、这里我们创建一个脚本,把这个脚本添加引用。

[csharp] view plain copy。

using UnityEngine.EventSystems 。

3、并在脚本继承的MonoBehaviour后面加入接口。

[csharp] view plain copy。

public class ceshi : MonoBehaviour,IPointerDownHandler, IPointerUpHandler。  

4、添加了接口要把这个接口进行实现。

[csharp] view plain copy

public class ceshi : MonoBehaviour,IPointerDownHandler, IPointerUpHandler  

 

public void OnPointerDown(PointerEventData eventData)  

  

print("按下!!!!");  

  

public void OnPointerUp(PointerEventData eventData)  

 

print("抬起!!!!");  

 

5、处理后。

参考技术A

using UnityEngine;
using System.Collections;
using UnityEngine.EventSystems;
public class EventTriggerListener : UnityEngine.EventSystems.EventTrigger
public delegate void VoidDelegate (GameObject go);
public VoidDelegate onClick;
public VoidDelegate onDown;
public VoidDelegate onEnter;
public VoidDelegate onExit;
public VoidDelegate onUp;
public VoidDelegate onSelect;
public VoidDelegate onUpdateSelect;

static public EventTriggerListener Get (GameObject go)

EventTriggerListener listener = go.GetComponent(); if (listener == null) listener = go.AddComponent(); return listener;

public override void OnPointerClick(PointerEventData eventData)

if(onClick != null) onClick(gameObject);

public override void OnPointerDown (PointerEventData eventData)
if(onDown != null) onDown(gameObject);

public override void OnPointerEnter (PointerEventData eventData)
if(onEnter != null) onEnter(gameObject);

public override void OnPointerExit (PointerEventData eventData)
if(onExit != null) onExit(gameObject);

public override void OnPointerUp (PointerEventData eventData)
if(onUp != null) onUp(gameObject);

public override void OnSelect (BaseEventData eventData)
if(onSelect != null) onSelect(gameObject);

public override void OnUpdateSelected (BaseEventData eventData)
if(onUpdateSelect != null) onUpdateSelect(gameObject);


然后在你的界面里面写入监听按钮的代码。

using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using UnityEngine.Events;
public class UIMain : MonoBehaviour
Button button;
Image image;
void Start () 

button = transform.Find("Button").GetComponent

Unity3D 之UGUI 按钮

新建一个按钮

按钮对应的属性

按钮下面只有一个文本的 游戏对象,是Button对应的显示文字

Interactable -->是否可以交互

Transition -->变换,对应各种关于按钮的设置,能够控制颜色,动画,图片的交互。

这里,讲解下给一个按钮添加一个点击事件

首先,随便创建一个脚本

using UnityEngine;
using System.Collections;

public class Click : MonoBehaviour {

    // Use this for initialization
    void Start () {
    
    }
    
    // Update is called once per frame
    void Update () {
    
    }


    public void OnMyClick() {


        Debug.Log("你点击了按钮");
    }
}

将脚本绑定到按钮上,然后将按钮这个对象绑定要OnClick设置上

这里可能有点绕,记住要将该对象绑定到On click 里面来,才能选择要绑定的脚本和方法。

 

运行游戏,点击该按钮

以上是关于Unity UGUi 怎么判断 点击按钮的抬起和按下的主要内容,如果未能解决你的问题,请参考以下文章

unity的UGUI怎么做到鼠标滑过按钮播放音效

Unity UGUI不规则区域按钮点击实现

unity 3d 的 ugui button 怎么删除? Destory 不行

unity的ugui的button怎么用代码控制禁用

unity,ugui如何实现button长按,就是如何监听按下和抬起,求一个完整的小例子谢谢。

unity ugui怎么判断鼠标在ui上