UGUI 鼠標點擊UI不受影響方法 IsPointerOverGameObject

這幾天在做捕魚達人遊戲時發現,當鼠標點擊UI時,炮臺的子彈也會發射子彈,這樣會影響用戶體驗。

EventSystem.current.IsPointerOverGameObject()方法,作用:判斷鼠標是否點擊在UI上。

if (Input.GetMouseButtonDown(0) && EventSystem.current.IsPointerOverGameObject()== false)
{
       //生成子彈
}

背景圖上,在Image組件上的有一個Raycast Type的複選框,只要我們把勾選去掉,就行了。

因此我推測EventSystem.current.IsPointerOverGameObject()方法的原理是,是根據UI上的Raycast Target的勾選來遍歷,那些UI需要鼠標點擊判斷,那些不需要。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章