我有一个BoxCollider2D
的对象,它位于一个BoxCollider
的对象下面。 (详细信息是一个UI(我使用NGUI资产),BoxCollider
位于GameObject
之上且BoxCollider2D
)。 UI对象具有实现OnClick()
的脚本,GameObject
具有实现OnMouseDown()
的脚本。单击UI对象时,也可以单击GameObject
中的事件。
我只是希望UI对象在彼此堆叠时触发事件。我怎样才能做到这一点?
答案 0 :(得分:1)
使用UnityEngine.EventSystems;
包含在OnMouseDown()
函数中,添加if (!EventSystem.current.IsPointerOverGameObject())
,然后在if
语句中放入鼠标时,将所有代码设置为运行。
using UnityEngine.EventSystems;
public void OnMouseDown()
{
if (!EventSystem.current.IsPointerOverGameObject())
{
//Put all your code for your gameobject here
}
}
这应该有用,但如果没有,请观看this视频了解其他方法。