1个回答
展开全部
当然是监听按钮 或者 你的图片啦。
方式一:比较麻烦,每个要接收点击的都要手动添加组件并设定。
给你要接收点击物体添加组件EventTrigger,设置一下返回的类和方式就行了。
--------------------------------------------------
方式二:把我写的这脚本放到你项目里
using UnityEngine;
using System.Collections;
using UnityEngine.EventSystems;
/// <summary>
/// Author: wbq
/// 事件触发封装 - 需要什么事件可扩展
/// Event trigger listener.
/// </summary>
public class EventTriggerListener : MonoBehaviour ,IPointerClickHandler,IPointerDownHandler,IPointerEnterHandler,IPointerExitHandler,IPointerUpHandler{
public delegate void VoidDelegate (GameObject go);
public VoidDelegate onClick;
public VoidDelegate onDown;
public VoidDelegate onEnter;
public VoidDelegate onExit;
public VoidDelegate onUp;
static public EventTriggerListener Get (GameObject go){
EventTriggerListener listener = go.GetComponent<EventTriggerListener>();
if (listener == null) listener = go.AddComponent<EventTriggerListener>();
return listener;
}
public void OnPointerClick(PointerEventData eventData){
if(onClick != null) onClick(gameObject);
}
public void OnPointerDown (PointerEventData eventData){
if(onDown != null) onDown(gameObject);
}
public void OnPointerEnter (PointerEventData eventData){
if(onEnter != null) onEnter(gameObject);
}
public void OnPointerExit (PointerEventData eventData){
if(onExit != null) onExit(gameObject);
}
public void OnPointerUp (PointerEventData eventData){
if(onUp != null) onUp(gameObject);
}
}
***********************
这是一个静态类,用委托来传递你想要的事件。比如你再某个类中要监听你的 YourButton。
EventTriggerListener.Get(YourButton).onClick = onClickButtonHandler;
private void onClickButtonHandler( GameObject obj ){
Debug.log("点击到了你的按钮");
}
.onClick 可以换成其他的事件,如按下、抬起、划过等。我给你写的脚本只有几个事件,需要其他的你可以自己在那个类里再扩展
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询