我在iphone上使用box2d创建游戏。我有一个受重力影响的身体向下移动而不是向右或向左移动。它将被另一个身体击中,然后向右或向左移动。然后我有一个重置按钮,将身体移回其起点。唯一的问题是它仍然向右或向左移动。我怎样才能抵消球已经行进的力量?当我重置游戏时,如何摆脱这种左右移动?
答案 0 :(得分:25)
box2d会自动清除每个模拟步骤的强制。我认为你只是在重置时改变身体的位置,但不是它的速度。将此代码添加到重置方法:
body->SetLinearVelocity(b2Vec2(0,0));
body->SetAngularVelocity(0);