簡體   English   中英

如何在檢查器Unity中區分不同的BoxCollider

[英]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 1BoxCollider2D 2BoxCollider2D 3拖到適當的public變量名稱中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM