0

AS3 で基本的なプラットフォーマー エンジンを作成しており、現在重力を実装しています。現在、重力により、プレイヤーは着地時に (プレイヤーの速度に応じて) 数ピクセル地面に沈むことができますが、それは望ましくありません。

1 フレーム前に衝突をテストできるようにしたい (スイープ テスト)。次のフレームで衝突が発生する場合は、プレイヤーの速度に関係なく、プレイヤーが地面に 0px で停止するようにします。

また、地形の形をとるピクセル単位の完全な衝突が必要なので、衝突を検出するのに非常にうまく機能する Corey O'Neil の Collision Detection Kit (CDK) を使用していますが、作成方法がわかりません。それはそれらを予測します。これが使用するのに最適なライブラリであるかどうかはわかりません。

Box2D についてはよくわかりません。私が望むものには多すぎると感じています。

AS3 でピクセル パーフェクト スイープ テストを実行する方法を教えてください。

4

2 に答える 2

0

1 フレーム前に衝突をテストできるようにしたい (スイープ テスト)。次のフレームで衝突が発生する場合は、プレイヤーの速度に関係なく、プレイヤーが地面に 0px で停止するようにします。

コリジョンをチェックしているゲーム ループでは、次のフレームで実行される動き、現在の Y 速度を追加するだけです。このようなもの:

if(currentYSpeed + player.y >= ground.y)
{
    player.y = ground.y
}else
{
    player.y += currentYSpeed;
} 
于 2012-10-03T18:11:29.990 に答える
0

Box2D は、後でスケールアップしたい場合に備えて、小さなプロジェクトにもかなり適しているはずです...

より迅速に飛び込む必要がある場合は、Quick Box 2dをご覧ください。

優れたチュートリアルもいくつかあります (ここ&ここ)。

于 2012-10-03T14:14:35.460 に答える