0
我正在創建遊戲,當出現開始屏幕時,某些音樂開始播放。現在我還在開始屏幕中添加了一個複選框。選中此複選框時,如果未選中,應聽到音樂,不應播放音樂。當取消選中複選框時,聲音未靜音
我對這個下面的代碼:對gameload
// 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');
});
});
如何解決這個問題?
親切的問候,
莫里斯
這個偉大的工程,謝謝! – Maurice 2012-08-05 08:04:47