[英]How to distinguish between different BoxCollider in the inspector Unity
假設我有一個帶有4種不同BoxColliders2D的游戲對象“玩家”
我有一個牆腳本,它是“牆”游戲對象的組成部分。
貼圖腳本有4個不同的public boxcolliders2D變量,但我似乎找不到一種在檢查器中的玩家游戲對象中將它們分別設置為各自的boxcollider2D的方法。
貼圖腳本有4個不同的public boxcolliders2D變量,但我似乎找不到一種在檢查器中的玩家游戲對象中將它們分別設置為各自的boxcollider2D的方法。
您不能從編輯器中執行此操作,但應該可以通過代碼執行此操作。
通過使用GetComponents
函數從代碼初始化您的4個變量,該函數返回附加到GetComponents
的組件的數組。 注意最后的“ s”。 這與GetComponent
返回一個GetComponent
函數不同。
public BoxCollider2D col1;
public BoxCollider2D col2;
public BoxCollider2D col3;
public BoxCollider2D col4;
void Awake()
{
BoxCollider2D[] colliders = GetComponents<BoxCollider2D>();
col1 = colliders[0];
col2 = colliders[1];
col3 = colliders[2];
col4 = colliders[3];
}
雖然代碼版本應該可以,但是不要將多個BoxCollider2D附加到一個GameObject。 要做的是為每個想要的額外對撞機創建子GameObject,然后將BoxCollider2D組件附加到它。 這是在一個GameObject上使用多個碰撞器的推薦方法,應該可以解決您的問題。
下面是應該顯示的屏幕截圖:
現在,您可以將每個子Collider( BoxCollider2D 1 , BoxCollider2D 2 , BoxCollider2D 3 ) 拖到適當的public
變量名稱中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.