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、处理后。
参考技术Ausing 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 3d 的 ugui button 怎么删除? Destory 不行