Unity 3d 启用鼠标指针作为事件触发器的指针输入/退出

use*_*538 1 c# unity-game-engine

我有一个非常基本的问题,即启用鼠标光标作为指针。我曾尝试通过简单的代码编写指针进入事件,指针进入退出事件工作。但是当我使用事件触发器的 PointerEnter 或 PointerExit 事件时,不会触发这些操作。我是否必须启用某些东西才能将我的鼠标激活为 Unity 3d 指针?

Pro*_*mer 6

Unity UI 的PointerEnterPointerExit

  1. 包括using UnityEngine.EventSystems;在顶部。

  2. 实现PointerEnterPointerExit接口。

  3. 将脚本附加到 UI 的画布上。

3D 对象/模型的PointerEnterPointerExit

  1. 包括using UnityEngine.EventSystems;在顶部。

  2. 实现PointerEnterPointerExit接口。

  3. 将脚本附加到 3D 对象并确保 a2D Collider附加到该 3D 对象/模型。

  4. 选择Camera并连接Physics Raycaster到相机。

2D 对象/精灵的PointerEnterPointerExit

  1. 包括using UnityEngine.EventSystems;在顶部。

  2. 实现PointerEnterPointerExit接口。

  3. 将脚本附加到 2D 对象并确保将 a2D Collider附加到该 2D 对象/精灵。

  4. 选择Camera并连接Physics 2D Raycaster到相机。

所有这些场景的代码都是相同的。

using UnityEngine;
using System.Collections;
using UnityEngine.EventSystems;

public class ClickTester : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler
{
    public void OnPointerEnter(PointerEventData eventData)
    {
        Debug.Log("Pointer Enter");
    }

    public void OnPointerExit(PointerEventData eventData)
    {
        Debug.Log("Pointer Exit");
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 哇,这是我看到的第一件事,它解释了你_实际上必须做什么_。到目前为止,我发现理解事件系统非常困难,但通过这篇文章,一切都有意义了。太感谢了!:D (2认同)