这几天在做捕鱼达人游戏时发现,当鼠标点击UI时,炮台的子弹也会发射子弹,这样会影响用户体验。
EventSystem.current.IsPointerOverGameObject()方法,作用:判断鼠标是否点击在UI上。
if (Input.GetMouseButtonDown(0) && EventSystem.current.IsPointerOverGameObject()== false)
{
//生成子弹
}
背景图上,在Image组件上的有一个Raycast Type的复选框,只要我们把勾选去掉,就行了。
因此我推测EventSystem.current.IsPointerOverGameObject()方法的原理是,是根据UI上的Raycast Target的勾选来遍历,那些UI需要鼠标点击判断,那些不需要。

本文讨论了捕鱼达人游戏中鼠标点击UI时炮台子弹误射的问题,并提出解决方案。通过使用EventSystem.current.IsPointerOverGameObject()方法和调整UI组件的RaycastTarget属性,避免了用户体验受影响。
747

被折叠的 条评论
为什么被折叠?



