如何在碰撞时获得父母的标签



我在一个简单的任务中遇到了很大的麻烦。当我检测到Collision检查父游戏对象的标签是否等于我的值时,我想要。因为我只想在与该障碍物发生碰撞时添加特殊效果。

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

所以我想要当我的播放器与C对象发生碰撞是等于我的价值的标签时,但我不知道如何获取父母标签。

谢谢您的时间:(

@sean Carey的答案在您只想在层次结构中提高一个级别时可以很好地工作,但在您的特殊情况下会失败,看到您似乎正在寻找检查标签"根" Transform

幸运的是,Unity为我们提供了一个属性,可以从任何给定的Transform对象引用根。

这是您如何使用它的示例,但考虑将其更改以适合您的特定需求:

private void OnCollisionEnter(Collision collision)
{
    if (collision.transform.root.CompareTag("EnterTagToCompareHere"))
    {
        // Tag on the root object matches
    }
}
private void OnCollisionEnter2D(Collision2D other)
{
    if (other.transform.parent.CompareTag("Enemy"))
    {
        //Do stuff
    }
}

相关内容

  • 没有找到相关文章

最新更新