Unity - A计划(一年有效期) 扫二维码继续学习 二维码时效为半小时

(61评价)
价格: 2155.00元
请问在2d里面怎么实现射线
qq6322发起了问答2020-06-06
4
回复
299
浏览

鼠标是否在UI(Image)上,(重点)且可能会被其它UI阻挡

 

我用过两种方法都能检测在UI上,但是不会被阻挡,请问该怎么实现遮盖的效果呢?

以下是用过的方法,还有一个是OnMouseEnter();

        Vector2 mouP = Camera.main.ScreenToWorldPoint(Input.mousePosition);
        bool isUI = RectTransformUtility.RectangleContainsScreenPoint(transform.GetComponent<RectTransform>(), mouP);

 

 

所有回复
  • 老师_Trigger 2020-06-06

    同学你好,可以参考一下:

    https://blog.csdn.net/Memoryuuu/article/details/80937541

    https://blog.csdn.net/loushuai/article/details/78993984

    https://blog.csdn.net/weixin_41814169/article/details/85604713

    https://www.cnblogs.com/linzheng/p/3973971.html

    https://www.sohu.com/a/211244406_667928

    • qq6322 2020-06-06

      谢谢老师,但是还是有些疑问,这面资料我只能想到Physics2D.OverlapPointAll的方法,判断如果获得的数组等于1时相当于没有被阻挡。可是这种方法局限性也很强啊

      (0) 回复
    • qq6322 2020-06-06

      我试了好几种方法都不太理想。我想要的效果就是鼠标移到一个UI上会弹一个信息框,移开就消失

      (0) 回复
    • qq6322 2020-06-06

      我找到了一个eventTrigger,好像还可以,只是会覆盖一些拖拽效果

      (0) 回复
    还有-2条回复,点击查看
    你还没有登录,请先登录注册
发表回复
你还没有登录,请先 登录或 注册!