2012-08-29 93 views
0

如何使弧形或曲线路径中的b2Body移动?我听说过cocos2d贝塞尔曲线函数(ccBezier),但这是为了移动cocos2d精灵。或者可以修改它来移动box2d的物体?任何帮助表示赞赏。谢谢。将弧形或曲线路径中的box2d物体移动

回答

0

不要以为你可以修改它来移动物理实体。在CCNode子类的情况下,该函数使用setPosition:方法。如果您每改变一次您的身体的位置,使用SetTransform方法的b2Body对象,它将忽略所有可能的冲突。

您可以尝试设置线速度到身体。在这种情况下,您需要根据需要更改(旋转)速度矢量。

+0

感谢您的回答。所以通过调整线速度,我可以到达弯曲的路径或弧线。没有任何指导方针可以使此尝试和错误过程更快?那么SetTransform如何工作? – colilo

+0

作为一个建议,您可以尝试将线速度更改为您希望该物体移动的曲线的切线。而且,由于Box2D是开源框架,因此您可以在代码中看到它是如何工作的;-) – Morion

+0

如果在曲线上有一个目标点,主体应该移动到该目标点,那么您可以设置要移动的主体的速度那一点。如果你设置的速度足够快,它会在一个时间步到达那里。另一方面,如果你正在谈论让身体像铁轨一样沿着曲线自由移动,那完全是另一回事。 – iforce2d