unity 点击事件 点击 按钮还是屏幕

08-17 房产资讯 投稿:屈寻冬

当然是监听按钮或者你的图片啦。

方式一:比较麻烦,每个要接收点击的都要手动添加组件并设定。

给你要接收点击物体添加组件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就能事件

声明:生活头条网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系admin@gdcyjd.com