我们要从Collision2D或者Collision2D的碰撞点,然后根据碰撞点的法线去判断是从那个方向碰撞的
private void OnCollisionEnter2D(Collision2D coll)
{
if (coll.contacts[0].normal.y == -1)//从上方碰撞
{
}
else if(coll.contacts[0].normal.y == 1)//从下方碰撞
{
}
else if (coll.contacts[0].normal.x == -1)//左边碰撞
{
}
else if (coll.contacts[0].normal.x == 1)//右边碰撞
{
}
}
可以通过判断发生碰撞的方向实现类似于超级马里奥踩死敌人的效果