ダメージ その2

ロックマン型のダメージ処理の実装を考えていたのですが、後退する移動ルーチン(knock_back_routine)は簡単に書けるものの、そのルーチンが終了した後で元の移動ルーチンに戻る仕組みがなくて詰まってしまいました。
一見、移動用コルーチンをスタック的に管理すれば済みそうですが、コルーチンを元に戻した際に途中から再開すると奇妙な動きになりそうな気がします。
つまり、

  1. player_routine()の途中でダメージ発生
  2. knock_back_routine()に切り替え
  3. knock_back_routine()が終了するまで繰り返す
  4. player_routine()に切り替え、player_routine()の状態はリセット

としたいわけです。
コルーチンのリセットは汎用的に必要そうなので、この方向で実装を検討してみます。


あと、以下を修正。