2013-09-05 47 views
0

我是游戏开发的新手,我之前没有处理box2d和cocos2d-x。所以我有一些麻烦。我在我的游戏中有一架飞机,所以当用户在一个方向转动操纵杆时,飞机应该朝这个方向转动。我该怎么做?我认为SetTransform()是一个不好的主意,所以我应该使用ApplyTorque()这个动作的自然外观?有没有人可以给我一个使用ApplyTorque()的例子吗?如何使用力量旋转身体?

+0

会发生什么当你在飞机上使用'ApplyTorque()'时? –

+0

@ebbe,我的飞机在改变操纵杆位置后无限旋转。我使用下面的网站的代码扭矩旋转: http://www.iforce2d.net/b2dtut/rotate-to-angle –

回答

0

如果你想知道如何编码box2d正文,你应该参考http://www.iforce2d.net

要旋转身体,您可以对身体的终点施加扭矩或施加力。 旋转后,将Box2d的ApplyLinearImpulse()方法应用于它。

通过引用box2d主体来改变图形的位置。

告诉我,如果不能得到这个。

+0

变化的位置对我来说很不错。旋转扭矩问题。是的,我读过,当质量中心不在(0,0)时存在一些问题,但我将其更改为此位置并且不起作用。 ApplyAngularImpulse()适用于我,我不知道是什么问题 –

0

首先转换从旋转度弧度 然后将身体的变换这样

FLOAT32 RotateToAngle = 1 * CC_DEGREES_TO_RADIANS(90); //改变90度弧度

body_->SetTransform(body_->GetPosition(), RotateToAngle); 
+0

设置变换会在物体碰撞时导致奇怪的结果。 –