2

スプライトの P2 ボディ フォースを更新して、特定の方向の定数値に等しくしたいと考えています。極座標を使えば簡単です。必要な大きさと方向を設定するだけです。ただし、フェイザー ポイントでは、ポイントの座標を直接設定する唯一の関数 (Phaser.Point#set) はデカルト座標しかサポートしていないようです。

自分で極座標からデカルト座標に変換することなく、フェイザー ポイントを一連の極座標に設定する簡単な方法はありますか?

4

1 に答える 1

0

残念なことに、このタスクにはコンストラクターがないため、setMagnitude()rotate( ) を組み合わせて使用​​します。補足として、これを行うためのユーティリティ メソッドを作成することをお勧めします。これにより、極座標で Point をインスタンス化するたびに (1 回の) 簡単な呼び出しのみが必要になります。

function pointFromPolar(r, t, degrees) {
    return new Phaser.Point(1,0).setMagnitude(r).rotate(0,0,t,degrees);
}

rは大きさで、t角度はラジアンです。degreesが true の場合、はt実際には度単位です。

于 2015-12-05T06:00:03.093 に答える