Unity代码分享_直接可用的判断点击是哪个对象

Posted avi9111

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity代码分享_直接可用的判断点击是哪个对象相关的知识,希望对你有一定的参考价值。

只返回第一个对象

手机,PC可通用

也可判断是否点击在UI上,

理论上,2D,3D模型,3D转2D都支持

  GameObject GetEventSystemRaycastUI()
    {
        if (EventSystem.current == null)
            return null;
        
        //鼠标点击事件
        PointerEventData pointerEventData = new PointerEventData(EventSystem.current);
#if UNITY_android || UNITY_ios
        if (Input.touchCount == 0) return null;
        pointerEventData.position = Input.GetTouch(0).position;
#else
   
        pointerEventData.position = Input.mousePosition;
#endif
        //射线检测返回结果
        List<RaycastResult> results = new List<RaycastResult>();
        //检测UI
        //graphicRaycaster.Raycast(pointerEventData, results);
        EventSystem.current.RaycastAll(pointerEventData, results);
        //打印结果
        for (int i = 0; i < results.Count; i++)
        {
            return results[0].gameObject;
            
        }

        return null;
    }

 

以上是关于Unity代码分享_直接可用的判断点击是哪个对象的主要内容,如果未能解决你的问题,请参考以下文章

如何在Unity中实现射线判断鼠标所点击的2D游戏对象?

Unity判断点击的UI对象

Unity判断点击的UI对象

Unity判断点击的UI对象

Unity UGUi 怎么判断 点击按钮的抬起和按下

Unity如何判断是否点击在gui上