ハシゴの作り方(※完成度は低めです。もっと完成度の高い方法があれば是非編集をお願いします)
ハシゴの再現です。これを応用すれば、横移動のハシゴも再現できるはずです。
仕組みの要約すると、コモン変数で主人公が歩いているか登っているかを判断させ、移動方法を変えています。
必要なモノと役割説明
主人公 :主人公。
ハシゴ役(頭 :ハシゴ。登り終えた時にコモン変数を「登り」から「歩き」に変えます
ハシゴ役 :ハシゴ。間の部分
ハシゴ役(尾 :ハシゴ。降り終えた時にコモン変数を「登り」から「歩き」に変えます
コモン変数 :主人公の移動方法が「歩き」か「登り」かを表します。ここでは変数Xとします。
必要フロー(主人公)
フロー1 歩きの状態(普通に移動している時のフロー)
フロー2 登りの状態(ハシゴに登っている時のフロー)
フロー3 登りの状態を中断させる
条件説明
必要フロー ;タイミングはすべて常時
フロー1 基本条件 :変数Xが0である
キー条件 :入力方向 1~∞
コマンド :自分の飛行をOFFにする
;直線移動(中身は各自設定で)
フロー2 基本条件 :変数Xが1である
キー条件 :入力方向 1~∞
コマンド :自分の飛行設定をONにする
:直線移動(必ず「横方向の移動を無効化」にチェックを入れてください)
フロー3 基本条件:なし
キー条件 :なんでも
コマンド :変数Xを0にする
必要フロー(ハシゴ役(頭)
無敵、ショットを当たらない、飛行、ブロックを当たらない 衝撃耐性最大
フロー1 主人公がハシゴと重なった時、登る動作をしたら状態を登りに変える
フロー2 主人公が登り終えた時、主人公の状態を歩きに戻す
条件説明
必要フロー ;タイミングはすべて常時
フロー1 基本条件 :変数Xが0である
主人公が縦0以内
主人公が横0以内
キー条件 :↑・↓ 「1つ以上が真なら成立」 1~∞ 連続実行許可
コマンド :変数Xを1にする
フロー2 基本条件 :主人公が横0以内
主人公が前Y0外
主人公が前Y2以内
キー条件 :なし
コマンド :変数Xを0にする。
必要フロー(ハシゴ役)
無敵、ショットを当たらない、飛行、ブロックを当たらない 衝撃耐性最大
フロー1 主人公がハシゴと重なった時、登る動作をしたら状態を登りに変える
条件説明
必要フロー ;タイミングはすべて常時
フロー1 基本条件 :変数Xが0である
主人公が縦0以内
主人公が横0以内
キー条件 :↑・↓ 「1つ以上が真なら成立」 1~∞ 連続実行許可
コマンド :変数Xを1にする
必要フロー(ハシゴ役(尾)
無敵、ショットを当たらない、飛行、ブロックを当たらない 衝撃耐性最大
フロー1 主人公がハシゴと重なった時、登る動作をしたら状態を登りに変える
フロー2 主人公が降り終えた時、主人公の状態を歩きに戻す
条件説明
必要フロー ;タイミングはすべて常時
フロー1 基本条件 :変数Xが0である
主人公が縦0以内
主人公が横0以内
キー条件 :↑・↓ 「1つ以上が真なら成立」 1~∞ 連続実行許可
コマンド :変数Xを1にする
フロー2 基本条件 :主人公が横0以内
主人公が後Y0外
主人公が後Y2以内
キー条件 :なし
コマンド :変数Xを0にする。
各フローの役割説明
主人公フロー1 普通に移動するときのフローです。すでに直線移動のあるキャラで新しくこのハシゴの機能を付けたい時は、「飛行をOFFにする」をくっつければOKです。
主人公フロー2 ハシゴに登っている状態です。このフローで「横移動不可」でなく、「縦移動不可」にチェックを入れれば横移動のハシゴができます。できれば、飛行アニメーションでなく、専用のアニメーションを用意してその「アニメーションの実行」を加えればよりそれらしくなります。
主人公フロー3 ハシゴを飛び降りる際のフローです。このフローを実行すればいつでもハシゴから飛び降りれます。専用のフローを作るのではなくて、ジャンプのフローにくっつけるようにすれば効率的です。
逆に言えばこのフローを付けなければ、ハシゴに登ったら登り切るか降りきるかまで、はしごを降りることは出来ません。
ハシゴ共通フロー 主人公と重なった時、主人公がハシゴに登ろうとする動作をすれば。主人公の状態を「登り」に変えるフローです。
ハシゴ頭と尾専用フロー 主人公が登り切った時、又は降り切った時に主人公の状態を元の「歩き」にかえます。
補足
ハシゴ頭は登った先にあるブロックの上に配置するようにしましょう。
ブロックとかぶっている状態で、ハシゴをキャンセル(主人公フロー3実行時)するとブロックの中に入ってしまい、主人公が死にます。
対策としてブロックとかぶってるハシゴ役だけ、主人公フロー3を無効化するフローを付け加えれば一応何とかなると思います。(例、主人公フロー3の基本条件に変数Yが0でなければダメ、を付け加えて、そのハシゴ役とかぶっている時だけ、変数Yを1に変える)
こうすれば読みやすい、又は補足、改善があれば是非、よろしくお願いします。→画像付きだと、もっとわかりやすいですよ。