Unityでジャンクゲームを作っているっぽい

会社帰りにGPD PocketにUnity入れてゲーム作ってます

【アクツクMV】07_ダッシュの制御

今のままだとダッシュ発動の条件が少なすぎるので使いやすくしたい
よくある作り方の場合、イロイロとフラグなんか駆使したりするけど…うまくいかなかった…

方針

playerにスイッチ追加

isDashを新規追加
ダッシュしたらon、ダッシュ終わったらoffにする想定

playerのアクションプログラム改造

全体フロー

地上ダッシュと空中ダッシュを別々に用意
空中ダッシュ後の落下状態も用意(自由落下して、接地判定したかったので)

dashアクション

stand byからdashに遷移
基本的な設定は、前回からそのまま

追加要素は、その他の実行アクションでフラグの管理
isDashをonにしている

stand byからdashへのリンク

発動条件は↓を同時に満たすとき

  • ボタン入力された
  • isDashがoffの場合(dashしていない)
  • 足元がタイルに接触している(接地している)

isDashの変更設定は↓

タイルの壁判定に接触の設定は↓。足元だけみる

dashからstand byへのリンク

発動条件は

  • 一定時間経過
  • 足元がタイルに接触している(接地している)
    • stand byからdashへのリンクと同じ

一定時間経過の設定は↓。要調整になる想定

air_dashアクション

空中ダッシュ用のアクション
jumpからair_dash発動するように設定
air_dash後は、air_dash_fallで落下して、接地すればstabd byに遷移
空中ダッシュは、1回しか発動させたくないので、こんな感じの判定にしてみた
air_dashアクションの中身は、dashと同じ

jumpからair_dashへのリンク

発動条件は

  • ボタン入力された
  • isDashがoffの場合(dashしていない)

isDashの変更設定は↓

air_dashからair_dash_fallへのリンク

発動条件は↓を同時に満たすとき

  • 一定時間経過
  • isDashがonの場合(dash中)


air_dash_fallアクション

ただ、自由落下をさせたいだけなので、特に設定はない

air_dash_fallからstand_byへのリンク

発動条件は↓だけ。接地したら遷移するだけ

  • 足元がタイルに接触している(接地している)

stand_byアクション

isDashをoffにして、再びdashが発動できるようにしておく

とりあえず、想像通りに動いたー
youtu.be


攻撃のできるタイミングも増やさないとならないし、まだwalkからdashできないので、改造は続く…