0

私は ActionScript 3.0 が初めてなので、少し助けていただければ幸いです。

プレイヤーへの道を塞ぐ障害物を作りたい。私はこれを、すべての動きを配列に保存し、それらが衝突した場合にプレーヤーを前の位置に移動するようにしました。これは適切な方法ではないと思うので、別の方法はありますか。また、衝突するとプレイヤーが動けなくなることもあります。例を教えてください:)

ありがとう

4

1 に答える 1

1

これが衝突を検出できる唯一の方法ですが、もう少し洗練された方法です。

  • 実際にボディを衝突させます (ただし、実際のオブジェクトにはまだ変更を適用しません)。

  • ステージ上のすべての衝突体をチェックします。

  • 必要な措置を講じる (ロールバック、破棄など)

  • 変更を適用し、ボディを画面にレンダリングします。

上記を flash の例として考えると、次のようになります。

var hero:Sprite = new Sprite();

addChild(hero);

while(1) {

   var newX = hero.x + 1; 

   if(newX < 100) 

       hero.x = newX;            
}

すべてのゲームにはループが必要です。ループはさまざまな状況に分岐する必要があります。それがあなたの始まりです。

ヒーロー オブジェクトはおそらくユーザー インタラクションと共に移動し、チェックは増加し続け、プロジェクトがますます密集していくにつれて解決策を再考せざるを得なくなります...

于 2012-12-26T11:10:44.403 に答える