【GDevelop】壁ジャンプ(壁キック)と壁張り付きの作り方
GDevelop のプラットフォームキャラクタービヘイビアはとても便利ですが、壁への張り付きや壁ジャンプには対応していません。(端っこを掴むというニッチな機能はあるのにねw) そこで、壁への張り付きや壁ジャンプもできるようにする方法を紹介します。 ちなみに、ゼロから作る様子の動画もあります。 英語モードですが、作り方の参考にしてください。 このページではゼロから解説すると、 めんどくさ ……長くなるので、要点のみ解説していきます。 操作するキャラクターの設定 まず、操作対象のキャラクター(スプライトオブジェクト)に、プラットフォームキャラクタービヘイビアを追加します。 その時、「デフォルトコントロール」は OFF にしましょう。 これは壁ジャンプをした時に、一時的に操作不能にするためです。 次に、オブジェクト変数「WallJumpDirection」を追加します。 この変数には、壁ジャンプする方向が入ります。 0 は壁ジャンプをしていない状態、1 は右方向へ壁ジャンプ中、-1 は左方向へ壁ジャンプ中、を表します。 初期値は 0 です。 あと、ポイントの追加も必要ですが、それについては後記します。 壁の設定 てきとーにプラットフォームビヘイビアを追加したオブジェクトを用意しましょう。 特筆すべき点はありません。 イベントを作成する 大きく分けて、以下の 3 つのイベントを作ります。 Player のカスタムコントロール 1. 壁とは逆方向へジャンプ 2. 壁に張り付く 以下で、それぞれについて解説します。 Player のカスタムコントロール ここで、オブジェクト変数「WallJumpDirection」が 0 の時のみ、基本的な動作ができるようにしています。 逆に言うと「WallJumpDirection」が 0 以外 の時、つまり壁ジャンプ中は操作ができないようになります。 壁とは逆方向へジャンプ このイベントは、壁ジャンプした瞬間から上昇中は、コントローラ(キーボード)の入力に関係なく壁の反対側へジャンプし、頂点を越えてから左右の操作ができるようになる、という、よく見る壁ジャンプの挙動を実行するためのものです。 「WallJumpDirection」が 1 の時は右へ、「WallJumpDirection」が -1 の時は左へ、強制的に移動するようにしています。...