blink_effect
ダメージを受けたときにプレーヤーキャラを点滅させるようにしました。
差分
とりあえず必要最低限の機能として、フレーム毎の頂点色を返すエフェクト用コルーチンを用意することにしました。
一定時間点滅するblink_effect()はこのようになります。
unsigned long blink_effect(effect_type::self& self) { for (int i = 0; i < 8; ++i) { for (int j = 0; j < 5; ++j) self.yield(0x00000000ul); // 透明 for (int j = 0; j < 5; ++j) self.yield(0xFFFFFFFFul); // 不透明 } return 0xFFFFFFFFul; }
これを敵と衝突した際にセットします。
コルーチンが終了すると自動的にエフェクトは終了するようになっています。
今のところ点滅中は敵との当たり判定がなくなっています。
マリオだと点滅中でも敵を踏めるので要調整です。
現仕様だと、点滅中で敵を踏みそこなった後で、点滅終了と同時にダメージ、という流れになりやすいです。
あと、急ブレーキの処理も追加しています。
差分
前にダッシュの速度上限を上げてから、すべり過ぎなのが気になっていたので、それの対処です。