物理碰撞就是精灵之间只碰撞不会穿越对方,非物理碰撞发生碰撞且相互穿越(注意:物理碰撞力过大也会相互穿越)。在unity碰撞中,须有boxcollider组件和主动碰撞方须有rigibody2d组件,即可碰撞。在所有Collider上有一个Is Trigger 的boolean型参数。当发生碰撞反应的时候,会先检查此属性。当激活此选项时,会调用碰撞
双方的脚本 OnTrigger***方法, 反之,脚本方面没有任何反应。物理碰撞和非物理碰撞的方法有下:
void OnCollisionEnter2D( Collision2D collision) 当进入碰撞器
void OnCollisionExit2D( Collision2D collision ) 当退出碰撞器
void OnCollisionStay2D( Collision2D collision ) 当逗留碰撞器
void OnTriggerEnter2D( Collider2D other )当进入触发器
void OnTriggerExit2D( Collider2D other )当退出触发器
void OnTriggerStay2D( Collider2D other )当逗留触发器
下面讨论物理碰撞检测消息的方法;
if判断
void OnCollisionEnter2D(Collision2D collision)
{
Debug.Log(collision.gameObject.na