物理碰撞组件

物理碰撞组件 继承自 碰撞组件 ,编辑和设置 物理碰撞组件 的方法和 编辑碰撞组件 是基本一致的。

物理碰撞组件属性

  • sensor - 指明碰撞体是否为传感器类型,传感器类型的碰撞体会产生碰撞回调,但是不会发生物理碰撞效果。
  • density - 碰撞体的密度,用于刚体的质量计算
  • friction - 碰撞体摩擦力,碰撞体接触时的运动会受到摩擦力影响
  • restitution - 碰撞体的弹性系数,指明碰撞体碰撞时是否会受到弹力影响

物理碰撞组件内部细节

物理碰撞组件内部是由 box2d 的 b2Fixture 组成的,由于 box2d 内部的一些限制,一个多边形物理碰撞组件可能会由多个 b2Fixture 组成。

这些情况为:

  • 当多边形物理碰撞组件的顶点组成的形状为凹边形时,物理系统会自动将这些顶点分割为多个凸边形。
  • 当多边形物理碰撞组件的顶点数多于 b2.maxPolygonVertices(一般为 8) 时,物理系统会自动将这些顶点分割为多个凸边形。
    一般情况下这些细节是不需要关心的,但是当使用射线检测并且检测类型为 cc.RayCastType.All 时,一个碰撞体就可能会检测到多个碰撞点,原因即是检测到了多个 b2Fixture。