2
我想使用NSUserdefaults保存一段简单的信息。我正在尝试保存一个SKSprite,使alpha为1.这就是我如何做的。这是为什么不节省?
第一场景:电平选择(子画面alpha是0.2) 当用户完成程度:(在电平选择编辑精灵为1)
GameViewController:
override func viewDidLoad() {
super.viewDidLoad()
if let view = self.view as! SKView? {
// Load the SKScene from 'GameScene.sks'
if let scene = levelselectscene {
// Set the scale mode to scale to fit the window
scene.scaleMode = .fill
// Present the scene
view.presentScene(scene)
}
view.ignoresSiblingOrder = true
view.showsFPS = true
view.showsNodeCount = true
}
}
override var shouldAutorotate: Bool {
return true
}
等级选择:
override func didMove(to view: SKView) {
if unlockLevelTwoButton == true {
levelselectscene?.childNode(withName: "LevelTwoButton")?.alpha = 1
UserDefaults.standard.set(unlockLevelTwoButton, forKey: "LevelTwoUnlocked")
print("I got this far")
}
}
Level One:
func di dBegin(_联系人:SKPhysicsContact){
var bodyA = contact.bodyA
var bodyB = contact.bodyB
let threeStars = SKScene(fileNamed: "LevelCompleted3Star")
let fadeAction = SKAction.fadeAlpha(by: 1, duration: 0.45)
if bodyA.categoryBitMask == 1 && bodyB.categoryBitMask == 2 || bodyA.categoryBitMask == 2 && bodyB.categoryBitMask == 1{
print("TEST")
levelOneCompleted() //islevelonecompleted
unlockLevelTwoButton = true
//3 stars
threeStars?.scaleMode = .fill
self.view?.presentScene(threeStars!, transition: .fade(withDuration: 0.3))
}
3星级:
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
if isLevelOneCompleted == true{
unlockLevelTwoButton = true
UserDefaults.standard.set(isLevelOneCompleted, forKey: "LevelOne")
UserDefaults.standard.synchronize()
levelselectscene?.scaleMode = .fill
levelselectscene?.childNode(withName: "levelTwoButton")?.alpha = 1
self.view?.presentScene(levelselectscene)
}
对我来说,它看起来像信息应保存。我究竟做错了什么?我也有钥匙设置检索:
if let z = UserDefaults.standard.object(forKey: "LevelTwoButton")
{
unlockLevelTwoButton = z as! Bool
}
无法弄清楚为什么它没有保存!
好眼力检索它的代码,它觉得我错了,以及.. –
我希望我能说它永远不会发生在我身上。 – Mozahler
哇,我怎么没看到这个?谢谢你。但可悲的是,它仍然不能节省价值。我不确定为什么。我已经完成了第一级,阿尔法得到改变,退出应用程序,然后重新启动。级别选择仍然在0.2节点上显示SKsprite。为什么会这样呢? –