我在一个简单的任务中遇到了很大的麻烦。当我检测到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
}
}