音ゲーにおける音楽との同期

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
アバター
夢幻ノ月夜
記事: 143
登録日時: 9年前
住所: Stens;Gate世界線

音ゲーにおける音楽との同期

#1

投稿記事 by 夢幻ノ月夜 » 7年前

今回CHUNITHMにはまって音ゲーをつくろうと思っているのですが
音楽と譜面を同期するにはどうしたらいいのでしょうか
Dixqさんの「太鼓の鉄人」のコードを覗いてみたのですが
音楽との同期は何をやっているのかよくわかりませんでした
あれは一体何をやっているのでしょうか
毎回ゲーム作ろうとするたびに壁にぶち当たる

アバター
Dixq (管理人)
管理人
記事: 1661
登録日時: 13年前
住所: 北海道札幌市
連絡を取る:

Re: 音ゲーにおける音楽との同期

#2

投稿記事 by Dixq (管理人) » 7年前

音ゲーを作る時は音楽の時間が第一です。
リアル世界の1秒よりも実際に音楽が流れた1秒が優先なのです。
で、今何秒音楽が流れたかを測定しながらUpdateとDrawを合わせます。
基本的にゲームは大きく分けて各モジュールを
Update();
Draw();
の2つにわけて作成します。
このうち、時間がかかるのはほとんどDrawです。
よってDrawを必要な分だけスキップするのです。
60FPSで動いているゲームにおいて1フレームは1/60です。
現在音楽が流れている時間をこのフレーム数に合わせます。
オーバーしていればDrawをその分だけスキップしてやり、
足らなければSleepしてまつことで
ゲーム時間と音楽時間を一致させているのです。

閉鎖

“C言語何でも質問掲示板” へ戻る