Unity 2D兩種經常使用判斷點擊的方法

1.Raycast法ide

原理相同於3D中得Raycast法,具體使用略有區別。code

RaycastHit2D hit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.mousePosition), Vector2.zero);

if(hit.collider != null)

{

  Debug.Log ("Target Position: " + hit.collider.gameObject.transform.position);

   //and do what you want

 }

2.Overlap法orm

我的以爲這個方法對於2D更合適一些,判斷點擊的點落在了哪些collider中。get

Collider2D[] col = Physics2D.OverlapPointAll(Camera.main.ScreenToWorldPoint(Input.mousePosition));

if(col.Length > 0)

 {

     foreach(Collider2D c in col)

     {

          //do what you want

     }

 }

以上代碼中用到的是mousePosition,對於觸摸的Touch原理徹底相同。it

相關文章
相關標籤/搜索