框架Fixture是动态模块中的一个重要的概念,它和形状Shape将来都是要附加到物体Body上。在一开始介绍Box2D引擎时,就曾说过物理引擎可以被看作是两部分:碰撞检测和物理模拟。形状Shape是用来进行碰撞检测的,那么框架Fixture就是用来进行物理模拟的。在介绍框架之前,先来了解一下动态模块的组成部分。
动态模块(Dynamics Module)
动态模块是我们将要介绍的最后一个模块。它也是Box2D引擎张最为复杂的一个。在游戏制作中,开发者使用最多的也是这个模块之中的。动态模块建立在通用和碰撞模块的基础之上。它包含的内容有:框架(Fixtures)、物体(Bodies)、接触(Contacts)、关节(Joints)、世界(world)、监听器(Listener)。这些内容彼此相互依赖,很难再不提及其他类的情况下单独描述一个类,在明确了动态模块组成后,下面首先介绍第一个框架类。
框架(Fixtures)
在上节讲了形状Shape,那么大家想下,形状虽然明确了物体的外形,但是并不知道物体的存在,形状只是用来进行碰撞检测,物理模拟谁来负责呢以及如何让物体和形状联系在一起呢?Box2D引擎提供了类b2Fixture,这个类用来将形状附加到物体上进行物理模拟,同时具备了一些物理属性。下面列出框架Fixture的属性:密度(density)、摩擦(friction)、恢复(restitution)、碰撞筛选标记(collision filtering flags)、感应器标记(sensor