Unity3d 如何使新的输入处理程序(IPInterDownHandler等)在非UI游戏对象上工作?

Unity3d 如何使新的输入处理程序(IPInterDownHandler等)在非UI游戏对象上工作?,unity3d,Unity3d,我写了这样一个剧本: public class LuaTap : MonoBehaviour, IPointerDownHandler, IPointerExitHandler, IPointerUpHandler { #region IPointerDownHandler implementation public void OnPointerDown (PointerEventData eventData) { Debug.Log ("down ")

我写了这样一个剧本:

public class LuaTap : MonoBehaviour, IPointerDownHandler, IPointerExitHandler, IPointerUpHandler {

    #region IPointerDownHandler implementation
    public void OnPointerDown (PointerEventData eventData)
    {
        Debug.Log ("down ");
    }
    #endregion

    #region IPointerExitHandler implementation
    public void OnPointerExit (PointerEventData eventData)
    {
        Debug.Log ("exit");
    }
    #endregion

    #region IPointerUpHandler implementation
    public void OnPointerUp (PointerEventData eventData)
    {
        Debug.Log ("up");
    }
    #endregion


}
将此脚本添加到非UI游戏对象时,它不起作用。 我更喜欢新的输入处理程序,但据我所知,它只适用于新的UI


如何使其在非UI游戏对象上工作?

您的游戏对象必须有一个碰撞器。然后,确保场景中存在一个相关的光线投射器。在UI系统中,通常使用,但我认为您可能需要使用。您的游戏对象是否有碰撞器组件,为什么不使用:OnMouseDown、OnMouseUp和OnMouseExist函数呢?OnMouseDown函数需要更多的编码。例如,OnMouseDown响应通过UI对象单击。谢谢。我试过了,就像演示上说的,它说的和你一样。你是个很棒的人!出现了一个新问题。长方体碰撞器工作,但多边形碰撞器2D或长方体碰撞器2D不工作。在我的游戏中,多边形碰撞器2D对于路径查找是必要的。我想如果你提出一个新问题,你可能会得到更多的帮助。现在我只看到你的评论,因为我有我的答案的通知,但其他人只会把这当作一个已经被接受的答案的老问题,不会打开它来注意你的评论。如果你想让不止一个人看你的新问题,那么得到答案的概率会更高。谢谢你的快速回复。我将发布一个新问题。