私は音楽ゲームを作っています。ユーザーが音符を押すと音が出ます。ユーザーがボタンを押すとすぐにサウンドが再生される必要があるため、ユーザーは音楽に間に合っているかどうかを判断できます。ただし、特にノートプレスが速くなると、音が遅れているように感じます。
バックグラウンドの .m4a 音楽ファイルは AVAudioPlayer で再生されます。currentTime プロパティにアクセスできるので、Cocos Denshion よりもこれを使用することにしました。私は間違っているかもしれませんが、CocosDension でこれにアクセスできるとは思いません。
非常に短い (1 秒未満) .wav ファイルを作成しました。init で効果音をプリロードします。
[[SimpleAudioEngine sharedEngine] preloadEffect:@"Assist.wav"];
次に、効果音を再生するために、CCTouchesBegan で次のように呼び出します。
[[SimpleAudioEngine sharedEngine] playEffect:@"Assist.wav"];
その後、コードを呼び出してユーザーのタイミングを決定し、ポイントを授与します。遅れている理由、または音楽に合わせて効果音を再生するより良い方法はありますか?
編集:最近、いくつかのことを試しましたが、結果はありませんでした。まず、曲の適切なタイミングで音を鳴らしてみました。まだラグがあったので、タッチイベントが遅いとは思いません。また、3 つの異なるサウンド ライブラリを試しました。
しかし、シミュレーターで走ってみると、ラグがないように見えました。誰にもアイデアはありますか?私は無知で、その主要な機能を本当に理解することはできません...