【发布时间】:2011-11-24 12:26:44
【问题描述】:
我在 iphone 上使用 box2d 来创建游戏。我有一个受重力影响的身体向下移动而不是向右或向左移动。它会被另一个物体击中,然后向右或向左移动。然后我有一个重置按钮,可以将身体移回起点。唯一的问题是它仍在向右或向左移动。我怎样才能抵消球已经在移动的力?重置游戏时如何消除这种左右移动?
【问题讨论】:
标签: iphone xcode cocos2d-iphone box2d physics-engine
我在 iphone 上使用 box2d 来创建游戏。我有一个受重力影响的身体向下移动而不是向右或向左移动。它会被另一个物体击中,然后向右或向左移动。然后我有一个重置按钮,可以将身体移回起点。唯一的问题是它仍在向右或向左移动。我怎样才能抵消球已经在移动的力?重置游戏时如何消除这种左右移动?
【问题讨论】:
标签: iphone xcode cocos2d-iphone box2d physics-engine
Box2d 自动清除每个模拟步骤的力。我认为你只是在重置时改变了身体的位置,而不是它的速度。将此代码添加到您的重置方法中:
body->SetLinearVelocity(b2Vec2(0,0));
body->SetAngularVelocity(0);
【讨论】: