トップビューマス目移動で使えそうなやつ
だいぶ前にツイッターで投稿したツイートが発掘されたので共有
仕組み
移動する前に、判定用のブロックにぶつかる飛行キャラを入力方向へ召喚
↓
戻り値で召喚された数を確認
↓
召喚された数が0(召喚に失敗している)なら終了で移動フローを中断させる
↓
召喚された数が1(召喚に成功している)なら移動コマンドを実行させる
斜め移動に関して
マス目移動の場合、斜め移動は縦横移動よりも移動量が多くなる。
そのため、キー入力条件で縦横と斜めの入力判定を分ける。
動画内では2番目のフローで「入力方向 押」に←↑といった組み合わせキーを「離」にすることでキー条件を分けている。
移動距離√2blを設定するのは不可能なので、1blの縦移動と1blの横移動を組み合わせる。
動画内では4つの直線移動を用いているが、別に「入力方向 角度+45°」と「入力方向 角度-45°」のふたつだけで問題ない。
ブロック判定のキャラはデフォルトの当たり判定なら斜め方向に召喚させるだけで斜め方向だけでなく「両隣のブロックの有無」も確認できる。
もしデフォルトより小さいブロックへの当たり判定を使用している場合、斜め移動でブロックを貫通してしまう恐れがあります。