使box2d身体以螺旋运动方式移动

时间:2013-04-14 23:01:00

标签: cocos2d-iphone box2d physics game-physics box2d-iphone

如何使box2d身体以螺旋运动方式移动?我相信它需要施加一些力量,但我不确定如何。我将不胜感激任何帮助。

2 个答案:

答案 0 :(得分:0)

您可以使用中间隐形体将关节链接在一起。用一个旋转关节将中心的一个身体固定在地面上,从那个身体到真实的一个棱柱体。两个关节=两个马达=两个可控制的自由度。

答案 1 :(得分:0)

你将有两种力量,一种切向力和一种径向力。

切向力使身体围绕中心加速。

径向力使身体朝向或远离中心加速。

radialVector = (objectPosition - spiralCenter).normalize();
tangentialVector = radialVector.perpendicularVector();

forceTangential = tangentialForceMagnitude * tangentialVector;
forceRadial = radialForceMagnitude * radialVector;
force = forceTangential + forceRadial;
object.applyForce(force);

力量值的具体值将决定螺旋的行为;像是向内或向外运动,以及有多快。

我回答了一个关于制作漩涡/漩涡的相关问题:SO: How to create whirlpool/vortex effect?