全部按照国际单位制
以单精度浮点数构造的向量,存储一个物体(刚体)的位置、速度、力等变量。
物体(或物体系)的质量中心,是研究物体(或物体系)机械运动的一个重要参考点。当作用力(或合力)通过该点时,物体只作移动而不发生转动;否则在发生移动的同时物体将绕该点转动。
两物体碰撞后的总动能与碰撞前的总动能之间的比称之为恢复系数,其取值范围为0~1。如果恢复系数为 1,则碰撞为完全弹性碰撞,满足机械能守恒;如果恢复系数小于1并且大于0,则为非完全弹性碰撞,不满足机械能守恒;如果恢复系数为0,则为完全非弹性碰撞,两个物体会粘在一起。
引擎中对真实世界的仿真,一切模拟在“世界”中完成,一般只构造一个世界。
Vec2 gravity = new Vec2(0.0f, -10.0f); //重力
World world = new World(gravity, true); //创建世界
//World(Vec2 gravity, boolean isSleep) isSleep ->是否允许物体休眠
以后介绍如何使用AABB盒限制世界范围
主要包括两个基本形状:CircleShape和PolygonShape(包内还提供了一个Shape抽象类供继承)。形状的主要属性有CircleShape的半径,PolygonShape的顶点坐标。如:shape.m_radius = 5.0f
FixtureDef fd = new FixtureDef();
fd.shape = shape; //与形状绑定
fd.density = 1.0f; //密度
fd.friction = 0; //摩擦系数
fd.restitution = 0; //恢复系数
在创建该类的对象时,不可以直接从构造器创建,必须通过World类对象的.createBody(BodyDef bd)方法创建(因此需要一个BodyDef实例)。然后调用其createFixture(FixtureDef fd)方法将夹具与刚体绑定。
BodyDef bd = new BodyDef();
bd.type = BodyType.DYNAMIC; //动态刚体(BodyType.STATIC为静态刚体)
bd.position.set(0, 0); //设定刚体位置
Body body = world.createBody(bd); //创建刚体
body.createFixture(fd); //绑定
刚体状态的获取:Vec2 body.getPosition()
返回一个向量,其x,y 值分别是刚体的位置坐标。