スプリント&ショートダッシュの実装(キャラクターベースクラス作成)

そろそろ本格的にゲーム作らなきゃと思って、キャラクターのベースクラスの作成をちょっとずつ進めています。

構想上はいろんなキャラクターを登場させたいので、システム上で共通している動きの部分はベースクラスに押し込めてしまおうと考えてます。

で、前から色々考えていた動作があって、今日はその実装が成功しました。
なのでメモっておきますね。

ショートダッシュの実装

MaxWalkSpeedを変更するだけのスプリントと違い、ショートダッシュは

  • 入力している方向に
  • 一定時間
  • 高速で移動する

という実装が必要でした。

以前はスプリントと同じようにMaxWalkSpeedを変更するアプローチでチャレンジしていましたが、どうも気に入らない。

で、今回はLaunchCharactorで実装してみました。 (LaunchCharactor:強制的に指定方向へ移動させる。2段ジャンプとかの実装に使うやつ)

gyazo.com

…ノードが汚いというツッコミはなしの方向でお願いします。

単純にLaunchCharactorしても摩擦で減速して止まってしまうので、一時的に摩擦力を0にしてみました。
Delayノードを使用して一定時間後に摩擦力を戻してます。

この一時的に変数に退避するの、もうちょっときれいな実装ないですかね…?

なお、動きはこんな感じ。

gyazo.com

今後の予定

キャラクターモデルはおいおい作っていくとして、攻撃周りのベースクラス実装を進めます