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