我用过
void OnCollisionEnter2D(Collision2D col)
{
if (col.gameObject.tag == "Wall")
{
live1--;
}
}
一切正常。但是现在,我在Is Trigger
中打开了Circle Collider2D
。因此,我的游戏对象不会发生冲突,并且live--
无法正常工作。
答案 0 :(得分:2)
IsTrigger属性会引发OnTriggerEnter,OnTriggerExit和OnTriggerStay事件,并且不会注册冲突。如果要使用IsTrigger,必须将OnCollisionEnter2D更改为OnTriggerEnter2D。
答案 1 :(得分:1)
OnCollision事件和OnTrigger事件是互斥的,它们可以一次从一个对象触发一个或另一个,但不能同时触发。
从OnTrigger输入文档:
Trigger events are only sent if one of the colliders also has a rigidbody attached.
从OnCollision输入文档:
Collision events are only sent if one of the colliders also has a non-kinematic
rigidbody attached.