0
我想更新一個人在我的遊戲中跳躍的總次數,但我遇到了一些問題。以下是遊戲中發生跳躍的變量以及發生加時跳躍的次數。更新變量的NSUserDefaults
var timesJumped: Int = 0
var totalTimesJumped: Int = 0
我有一個變量NSUserDefaults
,所以它記得甚至當應用程序關閉或關閉多少次。
var timesJumpedTotal = NSUserDefaults.standardUserDefaults().integerForKey("times jumped")
我有這個代碼塊,如果timesJumpedTotal
應該始終運行,所以當我嘗試和文本設置爲這個timesJumpedTotal
我得到一個空白的文本字段是真實的運行。是否有一個原因?
if timesJumpedTotal >= 0 {
totalTimesJumped = totalTimesJumped + timesJumped
NSUserDefaults.standardUserDefaults().setInteger(totalTimesJumped, forKey: "times jumped")
}
在SKScene,我想顯示這個統計我有這樣的代碼來設置一個節點的文本到totalTimesJumped
全文:
let timesJumped = NSUserDefaults.standardUserDefaults().integerForKey("times jumped")
totalTimesjumped = childNodeWithName("TotalTimesJumped") as! SKLabelNode
totalTimesjumped.text = "\(totalTimesjumped)"
我不知道爲什麼會這樣,有沒有人有任何想法?
剛纔我也試過這個。
totalTimesJumped = totalTimesJumped + timesJumped
timesJumpedTotal = totalTimesJumped
NSUserDefaults.standardUserDefaults().setInteger(timesJumped, forKey: "high score")
NSUserDefaults.standardUserDefaults().synchronize()
你可以檢查一個斷點,NSUserDefaults.standardUserDefaults()。setInteger(totalTimesJumped,forKey:「次跳」)被調用,並且它在你之前完成嘗試取值?另外,我建議你爲你的密鑰使用不同的方法,聲明一個常量讓timesJumpedKey =「com.yourgame.timesjump」,並用它作爲你的密鑰(com.yourgame ...是爲了保證它的唯一性) 。 –