我目前正在尝试为我正在开发的游戏实现高分机制,但所有在线教程都使用 UIKit 而不是 SpriteKit。我也想知道是否将分数代码放在游戏视图控制器或游戏场景中.swift
我想你跟踪游戏特定"玩法"的分数的地方是在场景中,所以这是最有意义的。
您真正需要决定的是如何保存高分。最基本的方法是使用UserDefaults
.
因此,当游戏结束时,您可以像这样保存分数:
let defaults = UserDefaults.standard
defaults.set(100, forKey: "HighScore")
这会将"HighScore"键的值设置为您指定的任何值(在上面的示例中为 100(。
当然,您需要确保分数高于先前的较高分数。您可以像这样加载以前的高分:
if let highScore = defaults.value(forKey: "HighScore") {
if score > highScore {
defaults.set(100, forKey: "HighScore")
}
}
您可以从应用中的任何位置加载"高分"值。 无论是视图控制器还是场景。