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个赞
添加回答
举报