【问题标题】:sprite Kit save highest scoresprite Kit 保存最高分
【发布时间】:2014-08-10 11:01:00
【问题描述】:

我使用 Sprite Kit(使用 swift xCode 6 beta 4)构建了一个游戏,我需要保持玩家达到的最高分(所以只有一个 Int)。我知道有一种使用 NSCoding 的方法,我用谷歌搜索了它,发现只有我不能使用的 Objective-C 教程/指南,因为我根本不知道 Objective-c,也许有更好的方法来了在 xCode 的最新版本中。任何帮助将不胜感激!

【问题讨论】:

  • 请升级到最新的测试版。使用旧的测试版只会错过修复和改进的机会。

标签: ios swift sprite-kit


【解决方案1】:

您可以将最高分保存在NSUserDefaults。它用于持久化少量数据,非常易于使用。您可以保存最高分,例如

// To save highest score
var highestScore:Int = 20
NSUserDefaults.standardUserDefaults().setObject(highestScore, forKey:"HighestScore")
NSUserDefaults.standardUserDefaults().synchronize()

// To get the saved score
var savedScore: Int = NSUserDefaults.standardUserDefaults().objectForKey("HighestScore") as Int
println(savedScore)

NSUserDefaults主要用于持久化用户高分等数据。

【讨论】:

  • 可以而不是应该。你可以把它存放在任何地方。作为一个文件。在数据库中。在服务器上。真的和使用 spritekit 无关。
  • @uchuugaka 是的,你可以在任何地方保存,但是保存在NSUserDefaults 非常方便。Apple 提供了NSUserDefaults 来存储这些东西。它提供了比文件更多的好处。你可以使用应用程序组在应用程序之间共享用户默认数据并具有许多其他好处。
  • 用户默认值用于存储用户首选项。它不用作一般数据存储。
  • @codester 如果您还没有获得分数以输入最高分,您将如何显示已保存的分数。如果用户默认值中还没有保存任何内容,你如何让它显示 0。
【解决方案2】:

使用 NSCoding 但也可以使用 NSUserDefaults (但它可以很容易地由用户编辑所以不推荐,主要用于存储用户偏好等但它会工作) 希望这会有所帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多