1

HTML5 ゲーム内のオーディオに Buzz ライブラリを使用しています。音楽を止めずにメニューを横断するには、各メニューを iframe にロードし、メイン ページから音楽を起動します。

<body style="overflow: hidden">
    <iframe id="MainFrame" src="./mainmenu.html" 
     frameborder=0 seamless="seamless" class="mainframe"></iframe>

    <script>
        window.onload = function() {
            playLoop('audio/menumusic.mp3');
        }
</script>
</body>

var playLoop = function(name)
{
    sound = new buzz.sound(name, {preload: true, loop: true});
    sound.play();
    setInitialSoundState(sound);
    loops.add(sound);
}

iframe内にロードされたページの音楽を切り替え/変更できるようにしたいということです。しかし、私が使用するたびに

buzz.all().mute();

何も起こりません。buzziframe のbuzz変数とメイン ページの変数は同じではないと推測しています。buzzすべての音楽が正しくミュートされるように、メイン ページにアクセスするにはどうすればよいですか?

必要に応じて詳細をお知らせします。

4

1 に答える 1

1

これを試して:

window.parent.buzz.all().mute();
// window.parent references an iframe's parent window
// or the current window if the call is made from a regular page (i.e. not in an iframe)
于 2012-07-05T16:37:52.397 に答える