【发布时间】:2016-08-01 02:52:23
【问题描述】:
我在主场景中有声音按钮(开/关),它工作得很好 但是我有问题,在我被取消资格时关闭背景音乐播放我返回主屏幕,但按钮的图像改变了音乐打开并保持在音乐图像关闭。
主场景:
var SoundOnOff = SKSpriteNode()
override func didMoveToView(view: SKView) {
backgroundColor = UIColor(red:0.09, green:0.63, blue:0.52, alpha:1.0)
//Main Scene:
SoundOnOff.texture = SKTexture(imageNamed:"Sound-on.png")
SoundOnOff.position = CGPoint(x: self.size.width/2 - 40 , y: self.size.height/2 - 500)
SoundOnOff.size = CGSizeMake(60 , 60)
SoundOnOff.runAction(SKAction.moveToY(140, duration: 0.5))
SoundOnOff.removeFromParent()
addChild(SoundOnOff)
}
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
let touch = touches.first
let location = touch!.locationInNode(self)
if(SoundOnOff.containsPoint(location)) {
// ---------------------------------------------
// Play Background Music
// ---------------------------------------------
if ((NSUserDefaults.standardUserDefaults().objectForKey("onoroff")) !== true)
{
NSUserDefaults.standardUserDefaults().setBool(true, forKey: "onoroff")
Singleton.sharedInstance().pauseBackgroundMusic()
SoundOnOff.texture = SKTexture(imageNamed:"Sound-off.png")
}else {
NSUserDefaults.standardUserDefaults().setBool(false, forKey: "onoroff")
Singleton.sharedInstance().resumeBackgroundMusic()
SoundOnOff.texture = SKTexture(imageNamed:"Sound-on.png")
}
}
} }
}
【问题讨论】:
-
更具体...您是说当您触摸按钮时按钮可以工作,但是当您返回主屏幕(可能是另一个场景)时显示错误的按钮纹理?
-
按钮纹理磨损。
-
:) 好的,我已经想通了。我要求您更具体地了解您遇到问题的部分代码。那么,touchesBegan 中的这段代码对你有用吗?如果是,什么是不起作用的代码。如果没有,好吧,我会更仔细地研究它......
-
我将发送视频链接。我的声音按钮出了什么问题。
-
好吧...那会很有帮助。
标签: ios swift2 nsuserdefaults