代碼添加 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("離開"); } }