//該方法的前提,不規則的范圍已經用Collider2D給畫出來了
//舉個栗子:判斷是否點擊了某個不規則的游戲對象
LayerMask SomeLayer = LayerMask.GetMask("layer名");
//這個SomeLayer是重點,這里表示游戲對象所在layer,一般要事先命名一個layer層,把游戲對象的layer層設為該層
if(InPut.GetMouseButtonDown(0)) {
Vector mousePoint = Camera.Main.ScreenToWorldPoint(InPut.mousePosition);
mousePoint.z = 0;
Collider2D collider = Physics2D.OverlapPoint(mousePoint,SomeLayer){
if(collider != null){
Debug.Log("點擊事件"); //獲取對象 collider.gameObject
}
}
}
注意當Physics2D.OverlapPoint()方法參數只寫一個Vector3參數時,會判斷這個點有沒有在一個碰撞區域,返回Collider或者Collider[]或者null,