• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:音再生時の遅れはどうにかなりませんか?)

音再生時の遅れを解消する方法はありますか?

このQ&Aのポイント
  • 音楽ゲームにおいて、キーボードを押してから音が出るまでの遅れが問題となっています。
  • 遅れを小さくする方法を探しています。具体的には、遅れを0.03秒以下にしたいです。
  • 既にFPSの設定や音声ファイルの圧縮など、いくつかの試みを行っていますが、効果はほとんどありませんでした。解決策をご存知の方がいらっしゃいましたら、教えていただきたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • LACOMS
  • ベストアンサー率65% (15/23)
回答No.2

私も専門家でないので、自身はありませんが以下のようにされてはいかがですか onClipEvent(keyDown){ if (Key.isDown(70)) {//Fキーを押している間のこと if(f_ok){ sound01.start(0,1); f_ok = false; } } onClipEvent(KeyUp)}//Fキーを離している間 f_ok = true; _root.mc_enter._visible = false; } }

tenketu
質問者

お礼

やったー!!できました!! しかも再生の遅延が以前よりもウンとなくなりました。 これでFLASH環境での開発が可能です。 本当に協力してくださってありがとうございました。 以下、他の人のために一応まとめを書いておきます。 onClipEvent(keyDown){ if (Key.isDown(70)) {//Fキーを押している間のこと if(f_ok){ s01.start(0,1); f_ok = false; } } } onClipEvent(keyUp){//Fキーを離している間 f_ok = true; }

その他の回答 (1)

  • LACOMS
  • ベストアンサー率65% (15/23)
回答No.1

onClipEvent(enterFrame)は、フレームに入るたびに実行されます。 したがって、フレームレートによります。フレームレートは、再生環境に依存し正確なものではありません。 以下のようにされてはいかがでしょうか。 onClipEvent(enterFrame)     ↓ onClipEvent(keyDown) これだと、キーが押された瞬間にイベントが発生します。 ちなみに、 サウンドデータは重いので最初にロードしておくとよいでしょう。

tenketu
質問者

お礼

回答ありがとうございます。 onClipEvent(keyDown)にしようとしたら問題にぶちあたりました。 実はキーを押し続けた時に音の再生が連続実行されないようにするために、「キーを離したとき」の判定もしなければならないのですが、onClipEvent(keyDown)を使うとそのキーを押し続けた時の連続再生防止機能を実現できません。というか、どうやって実現すればいいのかがわかりません。 つまりこれまではif(Key.isDown(13)){}else{}でそれを実現できていたのですが、onClipEvent(keyDown)を使うようになると、「キーを離したとき」をどうやって判定するのかがわからないのです。初心者ですいません。もしよかったら教えてもらえないでしょうか。

関連するQ&A