我正在创建一个游戏,当开始屏幕出现时,开始播放一些音乐。现在我还在开始屏幕中添加了一个复选框。选中此复选框时,如果未选中,则应听到音乐,不应播放音乐。
我有以下代码:
// Show the start screen and play some music.
game.start(game.DEMO_MODE);
if (document.getElementById('music').checked){ //check if checkbox is checked
music.play();
music.loop(); //Loop the music
}
如果选中该复选框,则此代码会检查游戏负载,如果是,则播放音乐。这很好用,但只有在游戏加载时。如果选中该复选框并且有人在开始屏幕中未选中它,则音乐将继续播放。除非他重新加载游戏,否则声音会静音。
显然我不想要这个。取消选中复选框时应停止声音,反之亦然。
我认为这个问题可以通过使用 jQuery 来解决,.bind('change',function(){
但我没有成功。我希望这里有人知道需要添加什么...
复选框的代码(它还将选中/未选中状态存储到 cookie 或本地存储中):
jQuery(function($) {
// Aa key must is used for the cookie/storage
var storedData = getStorage('com_test_checkboxes_');
$('div#musiccheck input:checkbox').bind('change',function(){
// do something here tho mute or unmute the sound??
// save the data on change
storedData.set(this.id, $(this).is(':checked')?'checked':'not');
}).each(function() {
// on load, set the value to what we read from storage:
var val = storedData.get(this.id);
if (val == 'checked') $(this).attr('checked', 'checked');
if (val == 'not') $(this).removeAttr('checked');
if (val) $(this).trigger('change');
});
});
如何解决这个问题?
亲切的问候,
莫里斯