Unity3D判斷不規則范圍內是否存在一點


//該方法的前提,不規則的范圍已經用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,

  

   


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM