要判断鼠标的位置是否在某个2D的UI矩形内,可以使用以下步骤:

  1. 获取鼠标当前的屏幕位置,可以使用Input.mousePosition来获取鼠标在屏幕上的坐标。
  2. 将屏幕坐标转换为世界坐标,可以使用Camera.ScreenToWorldPoint()方法将屏幕坐标转换为世界坐标。
  3. 使用RectTransformUtility.RectangleContainsScreenPoint()方法来判断世界坐标是否在矩形范围内。该方法需要传入矩形的RectTransform组件、世界坐标以及相机。
  4. 根据返回的bool值来确定鼠标是否在矩形内。

以下是一个示例代码:

using UnityEngine;
using UnityEngine.UI;

public class MouseInsideUI : MonoBehaviour
{
    public RectTransform rectTransform;

    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            Vector2 mousePos = Input.mousePosition;
            Vector2 worldMousePos = Camera.main.ScreenToWorldPoint(mousePos);

            bool isInside = RectTransformUtility.RectangleContainsScreenPoint(rectTransform, mousePos, Camera.main);
            Debug.Log("Is Mouse inside UI: " + isInside);
        }
    }
}

在上面的示例中,rectTransform是要判断的矩形的RectTransform组件。当鼠标左键按下时,会获取鼠标位置,并判断是否在矩形内,然后将结果打印到控制台上

unity 判断鼠标的位置是否在某个2D的UI矩形内

原文地址: http://www.cveoy.top/t/topic/iZk0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录