登录
  • 欢迎访问 Sharezer Blog

判断是否可以点击到某个层

Unity sharezer 2114次浏览 已收录 0个评论
public static bool IsEnableTouchLayer(Camera cameraSeeTheLayer, string layer)
{
    bool r = false;
    string strLayer = "";
    Vector3 posMouse = Input.mousePosition;
    posMouse.z = 10;

    Ray ray = cameraSeeTheLayer.ScreenPointToRay(posMouse);

    RaycastHit[] rhs;
    rhs = Physics.RaycastAll(ray);
    if (rhs != null)
    {
        foreach (RaycastHit rh in rhs)
        {
            GameObject gobjHit = rh.collider.gameObject;
            if (gobjHit != null)
                strLayer += LayerMask.LayerToName(gobjHit.layer);
        }
    }

    if (!string.IsNullOrEmpty(strLayer))
    {
        if (strLayer.Contains(layer))
        {
            r = true;
        }
    }
    return r;
}

Sharezer , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明判断是否可以点击到某个层
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址