我试图在更新中破坏下面的prefab1(破坏它的游戏对象)但是我的游戏中的预制件没有被删除。 DESTROYING HOLE 1 GEMS调试下面出现在控制台和gameobject中,但是即使gemCount_Hole1小于1,宝石(预制精灵)也不会从我的游戏中删除。请帮忙
if (gemCount_Hole1 < 1)
{
Debug.Log("DESTROYING HOLE 1 GEMS");
if (prefab != null) Destroy(prefab.gameObject);
}
else
{
for (int i = 0; i < gemCount_Hole1; i++)
{
Instantiate(prefab, new Vector3((i + xPos_Hole1) * 2.0F, -14, 0), Quaternion.identity);
}
}
我创建了一个列表,但不知道如何编写destroy。以下是我将其编码为列表的方式
private System.Collections.Generic.List<GameObject> list ;
void Start()
{
list = new System.Collections.Generic.List<GameObject>();
}
void Update()
{
for (int i = 0; i < gemCount_Hole1; i++)
{
list .Add( Instantiate(prefab, new Vector3((i + xPos_Hole1) * 2.0F, -14, 0), Quaternion.identity)) ;
}
}
答案 0 :(得分:1)
您无法直接销毁预制件 当您将预制件实例化为GameObjects时,您必须将它们存储到Array GameObject []或List中,然后在销毁它时,在列表中找到它并从那里销毁它。