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

 我来答
西西哩的小马甲
2018-04-10 · TA获得超过10.1万个赞
知道大有可为答主
回答量:39
采纳率:100%
帮助的人:1.8万
展开全部

方法:

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、处理后。

huanglenzhi
2016-05-21 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
采纳数:117538 获赞数:517196
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。

向TA提问 私信TA
展开全部

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

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式