Unity 解决UI点击穿透问题

来源:互联网 发布:c语言进阶书籍 编辑:程序博客网 时间:2024/03/29 22:00

原文http://blog.csdn.net/u014230923/article/details/51493382

这几天没事做一个小项目,发现点击UI界面时,如果鼠标下方物体有点击效果,在点击UI界面的同时,会触发鼠标下方物体的点击效果

写下此文,记录一下实践中遇到的一些问题,方便以后查看巩固

void Update()    {        if (Input.GetMouseButtonDown(0))        {            Click();        }    }    //解决UI穿透问题    void Click()    {        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);        RaycastHit hitinfo;        //EventSystem.current.IsPointerOverGameObject()  如果当前鼠标在 ui 上返回true 否则返回false        if (Physics.Raycast(ray, out hitinfo) && !EventSystem.current.IsPointerOverGameObject())        {            if (hitinfo.collider.tag==Tags.weapon)            {                Debug.Log("点击了weapon.");            }            else            {<pre name="code" class="csharp"><span style="white-space:pre"></span>//将要执行的方法,处理建造菜单方法
                ShowBulidMenu();            }        }    }

以上代码为是原文中找的,自己修改了一点应用到自己项目中。
每天学习一点,就进步一点~!

0 0
原创粉丝点击