Box2D的JavaScript的:SetLinearVelocity()不工作

问题描述:

首先,这是第一篇文章,我在这里写在计算器上,我实际上新的节目,所以如果我说错,我抱歉。Box2D的JavaScript的:SetLinearVelocity()不工作

我试了又试,使这项工作 - 我想模拟身体保持静止在空中,并为我用SetLinearVelocity(new b2Vec2(0, 0))

正如我在其他帖子看,似乎重力矢量是很重要的:它是一个b2Vec2(0, 30);,我有1/30秒的时间步长。

的用于处理特定机构的机械码位如下:

this.clocktick = function(deltaT) { 
    this.body.SetLinearVelocity(new b2Vec2(0, 0)); 

    if(this.body.GetLinearVelocity().y != 15){ 
     console.debug(this.body.GetLinearVelocity().y); 
    } 
} 

我觉得很有趣,身体一直下降,我已经有了,即使它下降的状况下,调试返回0

值我只是想从溶液或其他一些建议,以模拟一下我打算模仿听到的。

THX

,而不是设置速度,需要施加一个力取消重力。如果你只是设定速度,那么重力仍然可以在每一步中将其压低一点点。 力必须是相同的重力将适用什么,所以应该考虑到重力矢量与物体的质量:

body.ApplyForce(body.GetMass() * -world.GetGravity(), body.GetWorldCenter()); 

...你需要每之前做到这一点时间步骤。