我在场景里弄了个2d人物,他身上有一个box Collider 2d碰撞器,他子物体上有一个polygon Collider 2d用作给攻击时候的碰撞。我做了一个enemy,于是我可以给我的人物设置受伤,我设置 if (other.gameObject.tag == "Enemy"){
health--;
} 这样子写应该没什么问题,我点击开始游戏,我发现我人物碰撞到enemy不会发生反应,反而当我的人物攻击时,我的玩家会运行这次碰撞结果,我人物会health--,这就说明,是我的polygon Collider2d在与enemy碰撞反应
以及我想到两个有碰撞器有刚体的物体碰撞,应该满足一个有勾上 is trigger 一个不勾上,所以我尝试把人物的is trigger勾上,但是这样子我人物就会掉下去,因为会和地板有碰撞,不知道怎么解决
还有相似情况的是,我enemy写了FSM有限状态机,有一个判断是否追击敌人的碰撞检测(写在子物体上),所以我人物的攻击打在这个碰撞检测上面,enemy也会受伤害
你的这些碰撞体设置layer了吗?