Box2D中的world.ClearForces()有什么作用?

7

我正在使用box2dweb版本2.1.a.3(JavaScript,从Flash移植而来)来创建游戏。我在Google上找到的一些示例使用了:

setInterval(
     function(){
          world.Step(1/60 , 10, 10)
          world.ClearForces()
     }
,1000/60)

我试图删除world.ClearForces()这一行,但情况没有改变。我想知道ClearForces()函数是什么作用?如果我这样删除它会有什么问题吗?谢谢!


@MattBall:谢谢,毫无疑问,这是最正确的答案,但我想知道对于我和其他一些以后会阅读这个问题的人来说是否易于理解。无论如何,非常感谢。 - vantrung -cuncon
1个回答

4

关于Flash和Javascript版本,我不能确定,但ClearForces函数最初在Box2D的早期版本中是必需的。当时,如果您使用ApplyForce移动对象,该力量将无限期地保持有效,但现在如果您想要连续的力量,您需要每个时间步骤都执行ApplyForce操作。因此,实际上,引擎每个步骤都会为您调用此ClearForces函数。如果您可以在不更改任何内容的情况下将其删除,则可以这样做。


我已经尝试在ClearForce命令之前和之后放置ApplyForce命令,并且我已经弄清楚了它们之间的区别。非常感谢! - vantrung -cuncon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接