你的位置:首页 > 软件开发 > 网页设计 > Box2D自定义重力

Box2D自定义重力

发布时间:2016-08-29 17:00:02
需要给刚体添加一个自定义的属性:m_customGravity,这样就可以动态的修改每一个刚体自定义的重力,查找box2d源码大约在5486行,加上红色的一句代码 b2Island.prototype.Solve = function (step, gravity, allo ...

需要给刚体添加一个自定义的属性:m_customGravity,这样就可以动态的修改每一个刚体自定义的重力,查找box2d源码大约在5486行,加上红色的一句代码

 

b2Island.prototype.Solve = function (step, gravity, allowSleep) {   var i = 0;   var j = 0;   var b;   var joint;   for (i = 0;   i < this.m_bodyCount; ++i) {     b = this.m_bodies[i];     if (b.GetType() != b2Body.b2_dynamicBody) continue;     gravity = b.m_customGravity || gravity;          b.m_linearVelocity.x += step.dt * (gravity.x + b.m_invMass * b.m_force.x);     b.m_linearVelocity.y += step.dt * (gravity.y + b.m_invMass * b.m_force.y);     b.m_angularVelocity += step.dt * b.m_invI * b.m_torque;     b.m_linearVelocity.Multiply(b2Math.Clamp(1.0 - step.dt * b.m_linearDamping, 0.0, 1.0));     b.m_angularVelocity *= b2Math.Clamp(1.0 - step.dt * b.m_angularDamping, 0.0, 1.0);   }..............代码略...........................................................................................};
//创建一个圆形刚体

原标题:Box2D自定义重力

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录