我如何保存"硬币"在我的Swift SpriteKit游戏中?

时间:2015-03-05 15:25:37

标签: xcode swift

我有这个游戏,用户收集硬币,我希望他们能够保存他们并使用硬币在应用程序购买。我该怎么做?我可以使用NSUserDefaults,还是其他的东西?谢谢!我用它来保存highScore:

                   EDITED
    var coinDefaults = NSUserDefaults()
    var coinScore = defaults.integerForKey("coinScore")

    if(coins > 0)
    {
        coinDefaults.setInteger(coins, forKey: "coinScore")
    }
    var showCoins = coinDefaults.integerForKey("coinScore")

    coinLabel.text = String(showCoins)



    }

2 个答案:

答案 0 :(得分:3)

重置coinSquare

NSUserDefaults.standardUserDefaults().removeObjectForKey("coinScore")

加载已保存的分数

var coinScore =  NSUserDefaults.standardUserDefaults().integerForKey("coinScore")

var coins = 5

更新coinSquare

if coins > coinScore  {
    coinScore = coins
    NSUserDefaults().setInteger(coinScore, forKey: "coinScore")
}

println( NSUserDefaults().integerForKey("coinScore").description )

coins += 20

if coins > coinScore  {
    coinScore = coins
    NSUserDefaults().setInteger(coinScore, forKey: "coinScore")
}

println( NSUserDefaults().integerForKey("coinScore").description )

答案 1 :(得分:1)

是的,您有不同的选项来保存数据:nsuserdefaults,写入文件并存储文件,coredata或使用带有数据库的Web服务器。

如果有人知道如何破解你的应用程序,他将使用你的应用程序内部(第一种方法),这就是为什么许多大型游戏使用互联网(网络服务器)来检查用户购买的内容。

但是,如果有人破解你的游戏并不常见,那么无论如何他都不会付钱。所以请坚持使用nsuserdefaults,在我看来这很简单也很好。