マリオの完コピvol.32 リプレイデータ再生とタイトル画面
ハルポップ 2016-06-15 19:32:13
リプレイデータの再生、これを作ってみたかった。
リプレイの仕組みは、コントローラーの操作を再生するというもの。
もしゲーム中に乱数を使っていたらSEED値も同じにする必要がある。
リプレイデータの構造体は意外とシンプルで
・変化があった時のフレーム数
・コントローラーの状態
の2つで良い。
コントローラーの状態の変数はintの変数にしてビット演算を使用すると32個のボタンまで格納できる。
ビットをオンにする式は
フラグ |= A
ビットをオフにする式は
フラグ &= ~A
ボタンを押した瞬間を判定するには、前フレームのボタン変数を保持しておき、今回のフレームと比較して変化のあったビットが押された瞬間のボタンである。
if (!(prevInput & KEY_A) && (nowInput & KEY_A)) {
// Aボタンが押された瞬間
}