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());
...你需要每之前做到这一点时间步骤。