所以我的問題是在啟動時創建了很多游戲物件,并且它使層次結構視窗變得混亂。我的問題是:有沒有辦法使用代碼從層次結構視窗中洗掉這些物件?
破壞(); 沒有實作它只從游戲物件本身保留在層次結構視窗中的游戲物件中洗掉所有組件。
這里使用的代碼:
private void DrawIndex()
{
if (xList != null)
{
foreach (var lis in xList) // This is the issue
{ //
Destroy(lis); //
}
Array.Clear(xList, 0, xList.Length);
Debug.Log("Cleared Array!");
}
int xIndex = (int) Mathf.Floor(xLength);
int yIndex = (int) Mathf.Floor(yLength);
// Irrelevant part
xList = new LineRenderer[xIndex];
for (int i = 0; i < xIndex; i )
{
xList[i] = InitLine(); // Not finished!
xList[i].name = "X Index";
}
}
uj5u.com熱心網友回復:
你的問題是
foreach (var lis in xList)
{
Destroy(lis);
}
確實只是破壞了LineRenderer組件本身。
你更想做的是
foreach (var lis in xList)
{
Destroy(lis.gameObject);
}
為了實際銷毀GameObject持有這些LineRenderer組件的物件。
這
Array.Clear(xList, 0, xList.Length);
幾乎是無用的開銷 tbh
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/329219.html
上一篇:統一夾緊四元數旋轉
