Ios NSUser默认值保存总分
有没有一种方法可以使用NSUser默认值保存玩过的每一场游戏的总分 我有这样一个游戏,在游戏中每秒钟增加1分:Ios NSUser默认值保存总分,ios,swift,nsuserdefaults,Ios,Swift,Nsuserdefaults,有没有一种方法可以使用NSUser默认值保存玩过的每一场游戏的总分 我有这样一个游戏,在游戏中每秒钟增加1分: let waitScore = SKAction.waitForDuration(1.0) //add score every second let incrementScore = SKAction.runBlock ({ ++self.score self.scoreLabel.text = "\(self.score)"}) self.runAction(SKA
let waitScore = SKAction.waitForDuration(1.0) //add score every second
let incrementScore = SKAction.runBlock ({
++self.score
self.scoreLabel.text = "\(self.score)"})
self.runAction(SKAction.repeatActionForever(SKAction.sequence([waitScore,incrementScore])))
每次游戏结束时,我该如何将其添加到总分中,以便在主屏幕中加载总分?我在考虑当比分达到某一点时,制作额外的场景。
谢谢。您可以像这样存储分数,然后调用increasePoint或storeUserPoints(0)并在主屏幕中执行getUserPoints()
以下功能可用于使用
NSUserDefaults
它将当前分数与高分值(hs)进行比较。然后,仅当分数高于他们的highscore时,它才会返回并将分数存储为highscore
func gameDidEnd(S: Int) -> Int {
/* load score data */
let ud = NSUserDefaults.standardUserDefaults()
if ud.valueForKey("score") == nil { ud.setInteger(S, forKey: "score") }
let hs = ud.integerForKey("score")
if S > hs {
ud.setInteger(S, forKey: "score")
return S
println("NEW HIGHSCORE!")
} else {
return hs
}
self.score.text = "\(S)"
}
func gameDidEnd(S: Int) -> Int {
/* load score data */
let ud = NSUserDefaults.standardUserDefaults()
if ud.valueForKey("score") == nil { ud.setInteger(S, forKey: "score") }
let hs = ud.integerForKey("score")
if S > hs {
ud.setInteger(S, forKey: "score")
return S
println("NEW HIGHSCORE!")
} else {
return hs
}
self.score.text = "\(S)"
}