ゲムキTOP > ブログTOP > ゲムキブログ
←試しに書き込んでみる | ゲムキマガジンvol.60→

マリオの完コピvol.32 リプレイデータ再生とタイトル画面

ハルポップ 2016-06-15 19:32:13


リプレイデータの再生、これを作ってみたかった。
リプレイの仕組みは、コントローラーの操作を再生するというもの。
もしゲーム中に乱数を使っていたらSEED値も同じにする必要がある。

リプレイデータの構造体は意外とシンプルで
・変化があった時のフレーム数
・コントローラーの状態
の2つで良い。

コントローラーの状態の変数はintの変数にしてビット演算を使用すると32個のボタンまで格納できる。

ビットをオンにする式は
フラグ |= A

ビットをオフにする式は
フラグ &= ~A

ボタンを押した瞬間を判定するには、前フレームのボタン変数を保持しておき、今回のフレームと比較して変化のあったビットが押された瞬間のボタンである。
if (!(prevInput & KEY_A) && (nowInput & KEY_A)) {
// Aボタンが押された瞬間
}