スプリント&ショートダッシュの実装(キャラクターベースクラス作成)
そろそろ本格的にゲーム作らなきゃと思って、キャラクターのベースクラスの作成をちょっとずつ進めています。
構想上はいろんなキャラクターを登場させたいので、システム上で共通している動きの部分はベースクラスに押し込めてしまおうと考えてます。
で、前から色々考えていた動作があって、今日はその実装が成功しました。
なのでメモっておきますね。
ショートダッシュの実装
MaxWalkSpeedを変更するだけのスプリントと違い、ショートダッシュは
- 入力している方向に
- 一定時間
- 高速で移動する
という実装が必要でした。
以前はスプリントと同じようにMaxWalkSpeedを変更するアプローチでチャレンジしていましたが、どうも気に入らない。
で、今回はLaunchCharactorで実装してみました。 (LaunchCharactor:強制的に指定方向へ移動させる。2段ジャンプとかの実装に使うやつ)
…ノードが汚いというツッコミはなしの方向でお願いします。
単純にLaunchCharactorしても摩擦で減速して止まってしまうので、一時的に摩擦力を0にしてみました。
Delayノードを使用して一定時間後に摩擦力を戻してます。
この一時的に変数に退避するの、もうちょっときれいな実装ないですかね…?
なお、動きはこんな感じ。
今後の予定
キャラクターモデルはおいおい作っていくとして、攻撃周りのベースクラス実装を進めます