2015-05-19 96 views
1

所以我有一個預製,我正在隨機地隨機地在資源文件夾中實例化,如下所示,並且此時只是一個帶有Sprite渲染器的圖像:檢測Sprite的GameObject的完全重疊

go = (GameObject)Instantiate(Resources.Load("alienPink")); 

這些在每3秒後在不同位置實例化。

我也有一個Sprite渲染器,圓撞機2D和剛體2D球連接到它,我也得到訪問剛體2D如下:

//ray cast from camera to mouse point to detect hit 

RaycastHit2D hit = Physics2D.Raycast(mousePos2D , dir); 

. . . 

RigidBody2D grabbedObject = hit.collider.rigidbody2D; 

//do stuff with grabbedObject including change position 

我希望在預製檢測是完全重疊的球是透明的,所以我可以開始做預製件。 COMPLETE是這裏的關鍵字,我嘗試了很多方法,包括嘗試檢測預製件的渲染器和球的rigidBody2D之間的重疊,但無濟於事。我甚至試過在搶奪現場所有的組合屋,讓他們到一個數組中,並通過所有在每一個更新的陣列的去檢測重疊,但它只是不工作:

GameObject[] prefab =GameObject.FindGameObjectsWithTag("enemies"); //returns GameObject[] 

SOMEBODY HALP!說真的,我一直試圖這樣做幾天了。

謝謝。

回答

1

嘗試使用Physics2D.OverlapCircle來檢測重疊。另一個值得檢查的選項是:Physics2D.OverlapArea。如果這兩個選項僅提供部分解決方案,請嘗試使用Physics2D.OverlapPoint檢查多個點,以便每個點都需要重疊;例如,如果球完全在方格內檢查該方格內四點的重疊。

+0

OverlapCircleAll工作 –