【代码片段】UI射线判定,用于检测鼠标是否停留于UI上

UI射线判定,用于检测鼠标是否停留于UI上

用于判断鼠标是否是在某一个UI上,或者多个UI重叠的时候的判定


//测试方法
private void TestFunc(){
  PointerEventData pointerData = new PointerEventData(EventSystem.current);
                pointerData.position = Input.mousePosition;

                List<RaycastResult> results = new List<RaycastResult>();
                EventSystem.current.RaycastAll(pointerData, results);
                if (results.Count > 0)
                {
                    GameObject hitObject = results[0].gameObject;

                    // 获取名称
                    string objectName = hitObject.name;

                    // 获取Layer
                    int layer = hitObject.layer;

                    // 获取Tag
                    string tag = hitObject.tag;

                    Debug.Log($"鼠标正指向的UI物体名称是:{objectName}");
                    Debug.Log($"该物体所在的Layer是:{layer}");
                    Debug.Log($"该物体的Tag是:{tag}");
                }
                }

你可能感兴趣的:(Unity,ui,命令模式)