knock_back_routine

ノックバックするの図

昨日考えていたhamigaki::coroutineのリスタート処理ですが、コルーチンのボディ関数はboost::functionの形で保存しているので、これを使ってコルーチンを作り直すことで実装できました。
差分


ところが実際にこれを組み込んでみると、ノックバック中からジャンプボタンを押し続けていてもノックバック解除と同時にジャンプしてしまうようになりました。
これはコルーチンが再開された際に、直前の入力を検知できないからです。
結局、コルーチンのリスタート機能は使わず、ノックバック中も元のコルーチンは呼び出し続け、戻り値は捨てることにしました。
差分
HAMIGAKI_USE_KNOCK_BACKを定義してコンパイルするとノックバックするようになります。


現状、キャラクタは必ず進行方向を向くので、ノックバックするときのキャラクタの向きが逆になっています。
これ自体は予め画像を反転させておけばよいのですが、ノックバック後の向きまでは解決できません。
キャラクタの向きの扱いを検討する必要ありです。