![](/upload/rand_pic/2-824.jpg)
当然是监听按钮或者你的图片啦。
方式一:比较麻烦,每个要接收点击的都要手动添加组件并设定。
给你要接收点击物体添加组件EventTrigger,设置一下返回的类和方式就行了。
--------------------------------------------------
方式二:把我写的这脚本放到你项目里usingUnityEngine;
usingSystem.Collections;
usingUnityEngine.EventSystems;
/// summary
///Author:wbq
///事件触发封装-需要什么事件可扩展
///Eventtriggerlistener.
/// /summary
publicclassEventTriggerListener:MonoBehaviour,IPointerClickHandler,IPointerDownHandler,IPointerEnterHandler,IPointerExitHandler,IPointerUpHandler{
publicdelegatevoidVoidDelegate(GameObjectgo);
publicVoidDelegateonClick;
publicVoidDelegateonDown;
publicVoidDelegateonEnter;
publicVoidDelegateonExit;
publicVoidDelegateonUp;
staticpublicEventTriggerListenerGet(GameObjectgo){
EventTriggerListenerlistener=go.GetComponent EventTriggerListener
if(listener==null)listener=go.AddComponent EventTriggerListener
returnlistener;
}
publicvoidOnPointerClick(PointerEventDataeventData){
if(onClick!=null)onClick(gameObject);
}
publicvoidOnPointerDown(PointerEventDataeventData){
if(onDown!=null)onDown(gameObject);
}
publicvoidOnPointerEnter(PointerEventDataeventData){
if(onEnter!=null)onEnter(gameObject);
}
publicvoidOnPointerExit(PointerEventDataeventData){
if(onExit!=null)onExit(gameObject);
}
publicvoidOnPointerUp(PointerEventDataeventData){
if(onUp!=null)onUp(gameObject);
}
}
***********************
这是一个静态类,用委托来传递你想要的事件。比如你再某个类中要监听你的YourButton。
EventTriggerListener.Get(YourButton). nClickButtonHandler;
privatevoidonClickButtonHandler(GameObjectobj){
Debug.log(点击到了你的按钮);
}
.onClick可以换成其他的事件,如按下、抬起、划过等。我给你写的脚本只有几个事件,需要其他的你可以自己在那个类里再扩展
二、怎么禁止UITabBarItem上的双击事件?设置一个变量,用来控制是否点击了一次了,点击过后,把它设置值,点其他的再还原
三、unity 中能给3d模型添加button事件吗然可以,只要模型身上有collider就能事件