2 回答

TA貢獻1793條經驗 獲得超6個贊
你的問題是你使用了兩個 if 語句:
if(parent.getSound()) parent.pauseBackMusic();
if(!parent.getSound()) parent.playBacMusic();
所以第一條語句是正確的,因為isSound = true
然后你pauseBackMusic()在你設置的這個方法中調用方法isSound = false
然后你的下一個 if 語句測試:!parent.getSound()這也是真的,因為:isSound = false和方法playBacMusic()集isSound = true
下次單擊時它會從頭開始。
改用 else if 語句:
if(parent.getSound()) parent.pauseBackMusic();
else if(!parent.getSound()) parent.playBacMusic();
所以如果parent.getSound()是真的 else if 語句將被跳過并且isSound仍然是假的。并且在下一次單擊時,只有 else if 語句為真,音樂將重新打開。
或者在這個例子中,你可以只使用 else 來簡化:
if(parent.getSound()) parent.pauseBackMusic();
else parent.playBacMusic();

TA貢獻1780條經驗 獲得超4個贊
添加回答
舉報