0

cocos2dでbox2dを使って体を動かしています。移動中に角度を変えます。SetTransformメソッドで設定すると毎回同じ角度。

YouTubeで私の問題をキャプチャしました: http://www.youtube.com/watch?v=IQAQtgplLmw&feature=youtu.be

私のコード:

body->SetTransform(myB2Vec2Position, body->GetAngle());

セット前 マイボディ

ここに画像の説明を入力

** image2: 設定後 SetTransform で自分の体 **

ここに画像の説明を入力

image2 のように、SetTransform メソッドで毎回同じ角度に設定すると、移動時に角度が変わりました。

ここに画像の説明を入力


 NSLog(@"MyAngleValue: %f",currentBody->GetAngle());

毎回: MyAngleValue:0.000000 。通常、体の角度は毎回変化しますが、SetTransform メソッドを呼び出すと、角度は 0.000000 になります。 問題は何ですか?

ありがとう。

4

2 に答える 2

0

ボディ定義を設定するときは、次のパラメーターも設定してみてください。

bodyDef.fixedRotation = true;
于 2012-11-04T12:31:20.900 に答える
0

体をまったく回転させたくない場合 (何があっても絶対に回転させたくない場合)、運動量を に設定しINFINITYます。それでうまくいくはずです(角度または角速度を手動で変更しない場合)。

于 2012-11-04T12:55:49.933 に答える