OnTriggerEnter2D :触发器 和 OnCollisionEnter2D:碰撞器
①触发器是碰撞器的一个功能
②在想要做碰撞检测时使用碰撞器
③碰撞器生效的必要条件,碰撞的双方A,B都必须有Collider,其中有一方要带有rigidbody。
④当想要做碰撞检测却又不想产生碰撞效果时,就可以用isTrigger,在这个状态下触发检测生效,碰撞检测失效。
public override void OnTriggerEnter2D(Collider2D collision)
{
if (collision.tag == "Player" && BisonController.Instance.bisonState == BisonState.down)
{
BisonController.Instance.Rebound();
BisonController.Instance.VandH(new Vector2(0,-3));
BisonController.Instance.bisonState = BisonState.up;
Debug.Log("NPC1的反弹效果");
}
base.OnTriggerEnter2D(collision);
}
这篇博客探讨了Unity引擎中OnTriggerEnter2D和OnCollisionEnter2D的区别和使用场景。触发器(Trigger)用于碰撞检测但不产生物理效果,而碰撞器(Collision)则会在两者碰撞时产生交互。在示例代码中,当NPC1与带有'Player'标签的对象碰撞且Bison状态为'down'时,会触发NPC1的反弹效果,改变Bison的状态并应用力。这展示了如何在不产生实际碰撞影响的情况下进行定制的碰撞响应。

2万+

被折叠的 条评论
为什么被折叠?



