3

私のゲームでは、「開始ボタン」がクリックされたときにバックグラウンド ミュージックが消えるようにしたいと考えています。現時点では機能しますが、音楽が短時間再生されている場合のみです。しばらく音楽を再生したままにしておくと、ボタンをクリックしてもフェードアウトしないようです。

$(".start-btn-wrapper").click(function() {
    startplay();
    $(bgMusic).on('timeupdate', function() {
        var vol = 1,
            interval = 100;
        if (Math.floor(bgMusic.currentTime) == 5) {
            if (bgMusic.volume == 1) {
                var intervalID = setInterval(function() {
                    if (vol > 0) {
                        vol -= 0.05;
                        bgMusic.volume = vol.toFixed(2);
                    } else {
                        clearInterval(intervalID);
                    }
                }, interval);
            }
        }
    });
});

どこが間違っていますか?

4

1 に答える 1

1

この if ステートメントif (Math.floor(bgMusic.currentTime) == 5) {は、オーディオが 5 ~ 6 秒間再生されているときにボタンをクリックした場合にのみ、ボリューム削減ループが実行されることを意味します。if ステートメントを削除すると、問題が解決するはずです。

于 2012-11-05T14:26:43.407 に答える