Cocos Creator
物理碰撞组件
物理碰撞组件 继承自 碰撞组件,编辑和设置 物理碰撞组件 的方法和 编辑碰撞组件 是基本一致的。
物理碰撞组件属性
- sensor - 指明碰撞体是否为传感器类型,传感器类型的碰撞体会产生碰撞回调,但是不会发生物理碰撞效果。
- density - 碰撞体的密度,用于刚体的质量计算
- friction - 碰撞体摩擦力,碰撞体接触时的运动会受到摩擦力影响
- restitution - 碰撞体的弹性系数,指明碰撞体碰撞时是否会受到弹力影响
物理碰撞组件内部细节
物理碰撞组件内部是由 box2d 的 b2Fixture 组成的,由于 box2d 内部的一些限制,一个多边形物理碰撞组件可能会由多个 b2Fixture 组成。
这些情况为:
- 当多边形物理碰撞组件的顶点组成的形状为凹边形时,物理系统会自动将这些顶点分割为多个凸边形。
- 当多边形物理碰撞组件的顶点数多于
b2.maxPolygonVertices
(一般为 8) 时,物理系统会自动将这些顶点分割为多个凸边形。
一般情况下这些细节是不需要关心的,但是当使用射线检测并且检测类型为 cc.RayCastType.All
时,一个碰撞体就可能会检测到多个碰撞点,原因即是检测到了多个 b2Fixture。