1

そこで、Flash CS6 で Android/iOS 用の 2D パズル/プラットフォーマー ゲームを作成しています。HitTestObject は優れた関数です - そして私は現在それを使用しています - しかし、私の問題は物理学にあります:

速度 (2d ベクトル形式) を持つ任意のプレーヤー オブジェクトを取得し、任意の壁/障害物などから跳ね返らせたいと考えています。これは、任意の角度に傾けることができます (たとえば、画面の中央のどこかにある y 軸から 30 度下の壁など)。これで、プレイヤー オブジェクトは、衝突する前に任意の角度で移動できます。

これをどのように設定したいかというと、Flash CS6 のグラフィック ツールを使用して障害物を作成し、ライブラリに格納されている包括的な「レベル」クラスの一部にすることです。マップのどこにいても、どの角度から見ても多くの障害物が存在する可能性があります。プレイヤーを現実的に壁から跳ね返す方法を考え出す必要があります (これはすべて空間内にあるため、跳ね返りによる摩擦や運動量の損失はないと仮定します)、正しい角度を得る必要があります。プレーヤー クラスは障害物クラスの次元を認識してはならず、すべてのビジュアル インタラクティブ ゲーム オブジェクト (障害物やプレーヤーなど) は、GameObject クラス (すべてのビジュアル オブジェクトの基本的な動きの特性を持つ) から継承されます。

これがすべて理にかなっていることを願っています...とにかく、このシナリオを処理する方法はありますか?

4

1 に答える 1

0

あなたは完全に非弾性の衝突について話している. 球が平らな壁に弾性的に衝突する場合、球は同じ速度を維持しますが、その速度の方向成分はすべて壁の法線ベクトルに反映されます。

于 2012-08-18T16:16:03.483 に答える