2

これまでに回答されたことがある場合は多くの謝罪がありますが、探していたものを完全に見つけることができませんでした。

Box2Dダイナミックボディを使用して、線形インパルスを適用して発射体に変換します。したがって、画面の任意の場所をクリックすると、ボディがタッチ位置に向かって投影されます。力はまだ気にせず、角度だけは気になります。

すでにスプライトを回転させてタッチ位置を指すようにしているので、最初の回転角度を検出できますが、この角度、たとえば45度を「b2Vec2」値に変換して、ボディを正確に45度で起動できるようにするにはどうすればよいですか。このようなもの:

float rotationValue = 45.0f;
b2Vec2 vect = ??????
b2Vec2 PointVector = body->GetPosition();
body->ApplyLinearImpulse(vect, PointVector);

手がかりがあれば大歓迎です。

ありがとう

4

1 に答える 1

6

ため息-これがあなたが数学の授業で注意を払うべき理由です:)

角度をvectに変換するのは非常に簡単です。

float angle = 45.0f;
b2Vec2 vect = b2Vec2(cos(angle), sin(angle));
于 2010-12-06T18:30:51.853 に答える