これは、Flash AS3 のみのプロジェクトのゲーム用です。
プレイヤーは銃を持ったキャラクターを操作します。画面をクリックすると、銃はクリックしたポイントまで弧を描いてミサイルを発射します。
各フレームのミサイルの x 座標と y 座標を計算する最良の方法は何ですか?
これは、Flash AS3 のみのプロジェクトのゲーム用です。
プレイヤーは銃を持ったキャラクターを操作します。画面をクリックすると、銃はクリックしたポイントまで弧を描いてミサイルを発射します。
各フレームのミサイルの x 座標と y 座標を計算する最良の方法は何ですか?
さて、円弧は円の一部です。円の一般式は、
x = r * cos(a) + cx
y = r * sin(a) + cy
は円の半径r
、 は円にa
沿った角度 (ラジアン単位)、およびcx
はcy
円の中心の座標です。
したがって、フレームごとに角度 ( a
) を増やし、それらの式で位置を再計算します。
トリックは、適切な半径と中心点を決定することです。おそらく、固定半径に基づいて中心点を見つけるアルゴリズムを考え出すことができます。
編集:異なる半径で同じ速度を得る。
角速度 (rad/sec) から速度 (pixels/sec) を取得するには
v = Δa * r
したがって、いくつかを選択するv
と、Δa = v / r
v は定数で、r は円の半径です。
ミサイルはアークパスではなく発射体で飛ぶべきだと思います...
リアルな動きが本当に気になる場合は、いくつかの物理方程式を調べてください。
シンプルで漫画のようなモーションが必要な場合は、TweenMaxの bezier/bezierThrough を使用すると非常に簡単です。プラグイン エクスプローラーの例を参照してください。
更新: シンプルなパスのトゥイーンには、Grape Animation Libraryも優れているようです。