Chipmunk碰撞形状:cpShape

当前有三种类型的碰撞形状:

  1. 圆形:快速简单的碰撞形状
  2. 线段:主要作为静态形状。可以倾斜以便给之一个厚度。
  3. 凸多边形:最慢,但却为最灵活的碰撞形状。

如果你愿意,你可以在一个刚体上添加任意数量的形状。这就是为什么两种类型(形状和刚体)是分离开的。这将会给你足够的灵活性来给相同对象的不同区域提供不同的摩擦力、弹性以及回调值。

当创建不同类型的形状的时候,你将永远得到一个cpShape*指针返回。这是因为Chipmunk的形状是不透明的类型。想象具体的碰撞形状类型如cpCircleShape, cpSegmentShapecpPolyShape, 他们都是cpShape的私有子类。你仍然可以使用getter函数来获取他们的属性,但不要将cpShape指针转成他们的特定类型指针。