2012-02-18 61 views
0

我在我的游戏中有两个球。两者都受重力影响(即如果我将装置向右倾斜,球滚到右边等)。 我想要的是第二个球会朝相反的方向滚动。 (所以如果我把设备向右倾斜,球就会向左滚动!)iphone box2d向x方向移动一个身体

由于重力影响我的身体方向,所以我找不到一种方法让第二个滚球反向。

这样做的有效和正确的方法是什么?

谢谢

回答

0

只要使用body-> applyForce。使用GetLinearVelocity bodyA和它的对面适用于bodyB +(重力* -1)...(或类似的东西)

OR

创造两个世界一个与重力设置为b2Vec2(0.0F, -12.0f);另一个是b2Vec2(0.0f,12.0f);那么就在你的加速度计方法中做对立面来改变每个世界的重力。如果你只有两个球,选项一最有可能是最好的。

+0

不幸的是两种解决方案都不准确(我甚至没有尝试第二种解决方案,因为它似乎浪费了大量资源)。我确实设法修改Box2D附带的Solve方法,使用b2Body对象中指定的重力修饰符,它的效果很好。感谢您的帮助 – giorashc 2012-02-26 14:50:35