**我觉得这应该很简单,但我找不到解释它的教程,不幸的是我没有足够的经验自己解决它,基本上依靠教程来学习。
我有一个游戏,如果你跳过一个对象你得到一个点。如果你愿意的话,请试着想象我,我已经设置好,所以屏幕上有两个数字。一个数字在右上角,另一个在左上角。到目前为止,当玩家跳过一个物体时,两个数字都会得+1,这就是我想要的。问题是,当玩家输掉时,两个数字都会重置。我希望左上角的值不重置,并继续添加到玩家获得的每个点。
如果有人能为我提供一个简单的解决方案,我将非常感激!!!
另外,我应该提到我使用Swift和Spritekit
好的,我已经添加了一些代码,希望我能朝正确的方向发展..
let defaults = NSUserDefaults.standardUserDefaults()
//This is the value that I want to remain constant and be stored to defaults
let totalText = SKLabelNode(fontNamed: "Masaaki-Regular")
//So this is where I set up the text in my hud, I want it to persist so instead of setting this value = "0" (like with my normal score) I set it to defaults, right? I get an error: 'Int' is not convertible to 'String'
self.totalText.text = defaults.integerForKey("total")
self.addChild(self.totalText)
//Above this is the function that adds a point to the score when the player jumps over a block
self.total++
defaults.setInteger(total, forKey: "total")
defaults.synchronize()
self.totalText.text = String(self.total)
请帮助我确定我所犯的错误(我确定有很多错误,我对此很新!)
答案 0 :(得分:0)
你的问题在这里:
self.totalText.text = defaults.integerForKey("total")
您将整数分配给带有字符串的属性。
你需要转换它。例如:
let total = defaults.integerForKey("total")
self.totalText.text = "\(total)"