我player挂了很多碰撞体,但我想使用多边形碰撞体去碰撞敌人使其受伤。我写了if语句判断,但我不知道如何编写局限于多边形碰撞体
还有
看到有一个up主写的other.GetType().ToString()=="UnityEngine.PolygonCollider2D"(other是碰撞物)
我不解这句的意思,我写在敌人代码里面没有发挥作用
这句代码的意思是:其他碰撞体的类型是2D多边形碰撞体。
添加断点或注释查看是没有执行到这局代码,还是这句代码的条件为false
自行检测是否符合 碰撞检测条件:
Collider
Rigidbody
Collider
上都不勾选`Is TriggerPolygonCollider2D是2D的多边形碰撞体,这句代码就是判断other碰撞体的类型是否是2D的多边形碰撞体
你这个是做的2d碰撞吗?或许你可以试试在使用多边形碰撞前将其他碰撞器设置取消激活状态(取消勾选,isenable=false),在碰撞离开之后再把其他碰撞器激活
我知道了,这句代码是查找对方而不是自身的碰撞体。我最后没有使用这句代码,是利用layer层关系,让player身上其他的碰撞体不与enemy发生碰撞