0

私のオブジェクトにはポイント x,y があり、これはマウスが 800x600 ボックス内でドラッグすると常に変化します。私のオブジェクトは、マウスで設定された角度まで回転します。360 度です。私の問題は、その角度から、そしてもちろんそのXY位置から発射体を撃つ方法です。発射物は直線上を進むだけでよいのですが、メイン オブジェクトと同じように正しい角度で移動する必要があります。角度と XY 位置がわかりました。必要なのは、適切な角度からグリッドを横切って移動させる式だけです。

編集 - 発射物が正しい角度で発射されない現在の JSFIDDLE。 http://jsfiddle.net/vbk4Z/16/

4

1 に答える 1

2

標準的な式は次のとおりです。

xn = x0 + v * t * cos(theta)
yn = y0 + v * t * sin(theta)

(x0, y0)の位置、v必要な速度theta、角度 (ラジアン)、t発射体が発射されてからの時間です。

これは、正の x 軸に対して反時計回りに角度を測定し、y 軸を上に向けるという古典的なデカルトの慣習を使用していることに注意してください。

ブラウザーの座標を使用していて、たまたま方位 (「上」/「北」に対して時計回り) を使用することを選択した場合は、いくつかの記号と三角関数を交換する必要があります。

xn = x0 + v * t * sin(theta)
yn = y0 - v * t * cos(theta)
于 2012-04-30T16:29:59.383 に答える