一、创建一个世界
模拟范围、重力、是否休眠
var theWorld = new b2World(worldAABB, gravity, doSleep);
二、创建地面
物体通常由以下步骤来创建:
先刚体定义,设置位置(position),阻尼(damping)等,并且你可以用一个MC 赋给 刚体定义.userData
然后通过世界对象创建 刚体实体
刚体实体 = theWorld.CreateBody(刚体定义)
刚体实例被创造之后,还得用他的CreateShape方法去创建具有物理特性的正真实体
刚体实体.CreateShape(物理形状定义)
最好用刚体实体的SetMassFromShapes方法去命令物体通过形状去计算其自身的质量
刚体实体.SetMassFromShapes() 否则这个刚体实体就不具备质量 也就不受重力影响了
三、创建物体
跟创建地面一样
1.刚体定义
2.形状定义
3.创建刚体
4.把刚体addChild进场景
四、addEventListener(Event.ENTER_FRAME, Enter);
Box2D 中有一些数学代码构成的积分器(integrator),积分器在离散的时间点上模拟物理方程,它将
与游戏动画循环一同运行。所以我们需要为 Box2D 选取一个时间步,通常来说游戏物理引擎需要至少
60Hz 的速度,也就是 1/60 的时间步。你可以使用更大的时间步,但是你必须更加小心地为你的世界调
整定义。我们也不喜欢时间步变化得太大,所以不要把时间步关联到帧频(除非你真的必须这样做)。直截
了当地,这个就是时间步:
m_timeStep = 1.0 / 30.0;
除了积分器之外,Box2D 中还有约束求解器(constraint solver)。约束求解器用于解决模拟中的所有
约束,一次一个。单个的约束会被完美的求解,然而当我们求解一个约束的时候,我们就会稍微耽误另
一个。要得到良好的解,我们需要迭代所有约束多次。建议的 Box2D 迭代次数是 10 次。你可以按自己
的喜好去调整这个数,但要记得它是速度与质量之间的平衡。更少的迭代会增加性能并降低精度,同样
地,更多的迭代会减少性能但提高模拟质量