碰撞时如何获取父标签?

时间:2019-07-06 00:47:55

标签: c# unity3d game-development

我在完成一项简单的任务时遇到了麻烦。我想在检测到碰撞检查时是否检查父游戏对象的标签是否等于我的值。因为我只想在与障碍物碰撞时才添加特殊效果。

This is my hierarchy:
A - > PARENT
-B -> PARENT CHILD
--C -> Collider Gameobject

所以我想当玩家与C对象碰撞时,检查A中的标签是否等于我的值,但我不知道如何获取PARENT A游戏对象的标签。

谢谢您的时间:)

2 个答案:

答案 0 :(得分:3)

@Sean Carey的答案仅在您只想在层次结构中上一层时有效,但在您的特定情况下会失败,因为您似乎正在查看“ root” {{1}的标记}。

幸运的是,Unity为我们提供了一个属性,用于引用任何给定Transform对象中的root

这是您如何使用它的一个示例,但可以考虑根据您的特定需求进行更改:

Transform

答案 1 :(得分:1)

private void OnCollisionEnter2D(Collision2D other)
{
    if (other.transform.parent.CompareTag("Enemy"))
    {
        //Do stuff
    }
}