實(shí)現(xiàn)物體點(diǎn)擊事件
通過(guò)對(duì)攝像機(jī)掛載Physics Raycaster組件,對(duì)鼠標(biāo)點(diǎn)擊位置進(jìn)行射線檢測(cè)用以獲得物體的點(diǎn)擊,同時(shí)在Hierarchy中創(chuàng)建EventSystem GameObject用來(lái)接收和處理鼠標(biāo)事件。過(guò)程如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
public class MouseDown : MonoBehaviour, IPointerClickHandler
{
public void OnPointerClick(PointerEventData eventData)
{
Debug.Log(this.name);
}
}
EventSystem支持的接口列表
接口名 描述
IPointerClickHandler 接收OnPointerClick的回調(diào),可以檢測(cè)單擊[包括點(diǎn)擊和抬起,在抬起時(shí)觸發(fā)]
IPointerDownHandler 接收OnPointerDown回調(diào), 鼠標(biāo)按鍵點(diǎn)擊時(shí)檢測(cè)
IPointerUpHandler 接收OnPointerUp回調(diào),鼠標(biāo)按鍵抬起時(shí)檢測(cè)
IPointerEnterHandler 接收OnPointerEnter回調(diào), 鼠標(biāo)移入時(shí)檢測(cè)
IPointerExitHandler 接收OnPointerExit回調(diào), 鼠標(biāo)移出時(shí)檢測(cè)