サイトのトップへ戻る

AndEngineドキュメント 日本語訳

プレイヤーのジャンプを制御する:

多くのゲームでは、プレイヤー/ヒーローの'ジャンプ' 機能を実装する必要があります。 これは本当に簡単に実装できます。まず最初に、おそらく分かっているかもしれませんが物理演算機能が必要です。
  • physics worldを新規に作成します - 詳細情報についてはこの記事を確認してください。
  • 既にbody の付いたヒーローsprite を作成済みとして話を進めます - 作成していない場合は、前の記事を確認してください。
  • ジャンプを司るメソッドを作成しましょう。
  • そのために、例えば、使用するbodyでsetLinearVelocityを実行します。
public void jump()
{      
    //play jump sound
    playerBody.setLinearVelocity(new Vector2(playerBody.getLinearVelocity().x, -13.5f)); 
}

見て分かるように本当に簡単です。やらなければいけないのは、ジャンプを司る最後のパラメータ(Y値)の調整をすることだけです。 これで完了で、あなたのヒーローはついにジャンプができます。

ここではジャンプを制御する本当に単純な方法を説明しており、この通りにやると、制限なしに何度でも空中ジャンプができてしますので注意してください。 それを防ぐための簡単な方法を以下に説明するので、変更をしてください:

  • 'foot contacts'を司るintフィールドを新規に作成する。
  • begin contact内で Contact Listener を使用して、この値を増やす++。
  • end contact内で、この値を減らす--
  • jumpメソッドないで特殊なチェックを追加する:
if (footContacts < 1) 
   return;

この簡単な方法で、制限なしにジャンプするのを無効にできます (このケースでは、地面に付かないとジャンプできません)。