原文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();
}
}
}
以上代码为是原文中找的,自己修改了一点应用到自己项目中。
每天学习一点,就进步一点~!