《小白学Unity3D》实现处理鼠标点击GameObject
实现物体点击事件
通过对摄像机挂载Physics Raycaster组件,对鼠标点击位置进行射线检测用以获得物体的点击,同时在Hierarchy中创建EventSystem GameObject用来接收和处理鼠标事件。过程如下:
- 在Hierarchy视图中创建EventSystem[Assets/Create/UI/EventSystem]
- 在Camera上挂载Physics Ray Caster组件
- 在要处理鼠标事件的物体上挂载有如下内容的脚本
/*
* IPointerClick: 这个接口是处理鼠标点击事件的核心,提供给EventSystem的回调
*/
public class MouseEventHandle : MonoBehaviour, IPointerClickHandle
{
void OnPointerClick(PointerEventData evendate)
{
// TODO:
}
}
EventSystem支持的接口列表
接口名 | 描述 |
---|---|
IPointerClickHandler | 接收OnPointerClick的回调,可以检测单击[包括点击和抬起,在抬起时触发] |
IPointerDownHandler | 接收OnPointerDown回调, 鼠标按键点击时检测 |
IPointerUpHandler | 接收OnPointerUp回调,鼠标按键抬起时检测 |
IPointerEnterHandler | 接收OnPointerEnter回调, 鼠标移入时检测 |
IPointerExitHandler | 接收OnPointerExit回调, 鼠标移出时检测 |