unity动态添加 EventTrigger

本文涉及的产品
模型训练 PAI-DLC,100CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 3个月
简介: 动态添加 EventTrigger

前言:每日记录自己学习unity的心得和体会,小弟才疏学浅,如有错误的地方,欢迎大佬们指正,感谢~

代码添加    EventTrigger   方法

检测鼠标进入UI显示ui的名字非常好用


using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEngine.Events;

using UnityEngine.EventSystems;

using UnityEngine.UI;

public class ChuFaWaite : MonoBehaviour {

   private Image imagee;

   private EventTrigger trigger;

   // Use this for initialization

   void Start()

   {

       imagee = this.GetComponent<Image>();

       if (!GetComponent<EventTrigger>())

       {

         trigger = gameObject.AddComponent<EventTrigger>();

       }

       else

       {

           trigger = gameObject.GetComponent<EventTrigger>();

       }

       UnityAction<BaseEventData> click = new UnityAction<BaseEventData>(MyClick);

       EventTrigger.Entry myclick = new EventTrigger.Entry();

       myclick.eventID = EventTriggerType.PointerEnter;

       myclick.callback.AddListener(click);

       trigger.triggers.Add(myclick);

       UnityAction<BaseEventData> _click = new UnityAction<BaseEventData>(MyClick_);

       EventTrigger.Entry myclick_ = new EventTrigger.Entry();

       myclick_.eventID = EventTriggerType.PointerExit;

       myclick_.callback.AddListener(_click);

       trigger.triggers.Add(myclick_);

   }

   //进入

   public void MyClick(BaseEventData data)

   {

       imagee.color = Color.white;        

   }

   //离开

   public void MyClick_(BaseEventData data)

   {

       imagee.color = Color.red;      

   }

 

}

3D物体检测

加入碰撞盒,可用下面代码检测鼠标进入物体,显示物体名字

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class Obj_OnTrigger : MonoBehaviour {

   //当鼠标进入碰撞器的时候调用  

   private void OnMouseEnter()

   {

       Debug.Log("进入");

   }

   //当鼠标离开碰撞器的时候调用  

   private void OnMouseExit()

   {

       Debug.Log("离开");

   }

}


目录
打赏
0
0
0
0
3
分享
相关文章
|
8月前
|
Flutter笔记:滚动之-无限滚动与动态加载的实现
Flutter笔记:滚动之-无限滚动与动态加载的实现
352 0
Flutter笔记:滚动之-无限滚动与动态加载的实现(GetX简单状态管理版)
本文介绍Flutter中如何实无线滚动(基于GetX简单状态管理而非有状态组件)
154 0
强大的动画插件——DOTween介绍(Unity3D)
DOTween是一个用于Unity的快速、高效、完全类型安全的面向对象动画引擎,为c#用户进行了优化,是免费和开源的,具有大量高级特性 DOTween兼容Unity 2019至4.6版本。 适用于:Win, Mac, Linux, Unity WebPlayer, WebGL, iOS, Android, Windows Phone, Windows Store, PS Vita (PSM), PS3/PS4, Xbox 360/One,任天堂Switch + more(没有测试额外的平台,但除了Flash导出,它应该可以在任何地方工作)
flutter系列之:做一个修改组件属性的动画
什么是动画呢?动画实际上就是不同的图片连续起来形成的。flutter为我们提供了一个AnimationController来对动画进行详尽的控制,不过直接是用AnimationController是比较复杂的,如果只是对一个widget的属性进行修改,可以做成动画吗? 答案是肯定的,一起来看看吧。
UGUI系列-实现层级菜单(Unity3D)
层级菜单在Unity中用到的并不多,主要是做分类的时候用的比较多,今天就给大家分享几个层级代码,扩充一下,写成插件也是不错的。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等