1

就像我在问题中所拥有的一样,我知道这很简单,并且有一个这样的问题,但不足以解决这种困惑,我的工作流程是:A 和 B 是 2 GO,A 与未检查的触发器发生碰撞,B 有带有触发器检查的对撞机我使用 A GO 中的 OnTriggerEnter2D(碰撞碰撞)函数来检查 B(碰撞)是否触摸 A GO,直到现在我才发现它在我使用 OnTriggerEnter2D(碰撞碰撞)时也可以工作) 函数在 B 脚本中检查它是否与 A GO 接触,即使 A 没有触发检查。那么我是否只需要检查其中一个(A 或 B)中的触发器才能在任何人中使用 OnTriggerEnter2D() 函数?

4

1 回答 1

2

那么我是否只需要检查其中一个(A 或 B)中的触发器才能在任何人中使用 OnTriggerEnter2D() 函数?

是的,只是其中之一。您也可以在两者上启用它。真的没关系。

这让 Unity 新手感到困惑。

当任何类型的碰撞回调函数如OnTriggerEnter2DOnCollisionEnter2D被调用时,参与碰撞的两个游戏对象都会调用回调函数。

IsTrigger设置为哪一个并不重要true。只要有一个触发器,OnTriggerEnter2D如果​​有一个实现回调函数的脚本,两者都会调用它们。同样的事情也适用于OnCollisionEnter2D。当OnCollisionEnter2DorOnTriggerEnter2D 在一个 Object 上调用时,它也会在 Collins 中涉及的另一个 Object 上调用。

于 2018-06-07T02:10:37.327 回答