2013-09-05 52 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

設置變換會在物體碰撞時導致奇怪的結果。 –