Unity3D获取父对象名称

代码:

父对象的名称表示为:

gameObject.transform.parent.name

由于父对象的名称是字符,所以用string来定义:

string FatherName = gameObject.transform.parent.name;

FatherName是字符的名称,如果有需要可以更改。 

注意:如果没有父对象,gameObject.transform.parent.name为null。


应用:

之前我发过一片《Unity3D按下F开门》,里面的Tigger的代码是通过门的名称来判断要开的门,所以每做一个新的门就需要多写一个Tigger.cs,10个门要写10个Tigger.cs,100个门要写100个Tigger.cs,999个就要写999个Tigger.cs,也是肥肠的麻烦,所以我们可以直接把定位门的代码换成以下代码:

void Start(GameObject gameObject)
{
    string FatherName = gameObject.transform.parent.name;
    m_Door = GameObject.Find(FatherName).GetComponent<Door>();
}

这样一篇代码就可以给所有门使用啦!