2013-05-16 71 views
0

我有在世界的中心的圆心。我以b2Body的形式向世界添加一些球。现在我想移动或将球扔到屏幕的中心。效果应该像球与圆相撞。移动Box2D的身体屏

球的位置随机,所以他们可以在任何人的屏幕和旅行的需要到屏幕的中心圆

任何一个可以告诉我如何做到这一点,因为我没有上移动b2Body对象的想法。

I want blue circle to attract red circles

我想蓝色的圆圈,以吸引红色圆圈。换句话说,我想要红色圆圈移动到蓝色圆圈。

+0

的setTransform - > http://www.learn-cocos2d.com/api-ref/2.0/Box2D/html/classb2_body.html#a4686f32bbce5723761e9719c706eca11 – LearnCocos2D

+0

我想它使用武力和重力 –

+1

啊,就是这样一个概念:每一步都向每个身体增加一个力量,朝向中心。重力拉力(施加的力)以平方的距离下降,即距离的两倍意味着力的四分之一。然而,在游戏中,这可能需要调整,因为重力的影响可能很快就会被消除,或者它看起来永远不会脱落(在任何地方引力相同) - 取决于规模,需要实验。 – LearnCocos2D

回答

0

在这种情况下,我不知道这种方法,但你可以试试这个方法。我想你是通过触摸屏幕来添加b2body的。现在我不知道你的B2body的类型是什么。 有两种方法可以移动b2body。

检查此链接:http://www.cocos2d-iphone.org/forum/topic/21620

从这个链接,

我猜测,在你的游戏中,身体是b2static的身体,你可以做的是移动你的精灵到屏幕的中心,相对于以tick方式改变相应物体的位置。

而且你要停下来的精灵,当它击中中心球所以停止移动时它击中球中心相应的精灵。

这也许是可能的方式,如果我理解你的问题。

+0

我的身体是b2_dynamic。我没有使用任何触摸。红色圆圈以编程方式添加。所以只要我在世界上添加红色身体,他们应该前往蓝色圆圈 –

+0

是的,它会走向蓝色圆圈。尝试实施我所说的话。主要的是你必须检测碰撞并停止移动图像。 – Renaissance