Swift 继续第二级

Swift 继续第二级,swift,sprite-kit,Swift,Sprite Kit,我创建了一个有更多场景的游戏,场景1=1级。当你达到2级。如何让我在赛后继续留在那里? 我知道这是由NSUSERDEFAULT完成的。但我不知道怎么做。多谢各位 这是我的密码: override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) { let touch = touches.first as! UITouch let touchLocation = touch.

我创建了一个有更多场景的游戏,场景1=1级。当你达到2级。如何让我在赛后继续留在那里? 我知道这是由NSUSERDEFAULT完成的。但我不知道怎么做。多谢各位

这是我的密码:

    override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {
    let touch = touches.first as! UITouch
    let touchLocation = touch.locationInNode(self)
    let touchedNode = self.nodeAtPoint(touchLocation)

    if(touchedNode.name == "checkbutton"){
    if(inputText!.text == "motorka" || inputText!.text == "Motorka" || inputText!.text == "MOTORKA"){
    runAction(SKAction.playSoundFileNamed("correct.wav", waitForCompletion: false))
    correct.hidden = false
    inputText!.hidden = true
    check.hidden = true
    let nextLevel = level2(size: size)
        nextLevel.scaleMode = scaleMode
    let transitionType = SKTransition.crossFadeWithDuration(1.4)
    let wait = SKAction.waitForDuration(0.9)
    let action = SKAction.runBlock {
        view?.presentScene(nextLevel, transition: transitionType)
}

    self.runAction(SKAction.sequence([wait, action]))

}
else {
    unCorrect.hidden = false
    runAction(SKAction.playSoundFileNamed("Wrong-answer-sound-effect.mp3", waitForCompletion: false))
    delay(1.0) {
    self.unCorrect.hidden = true
}
}    
override func touchsbegined(touchs:Set,withEvent-event:UIEvent){
让touch=touch.first as!UITouch
让touchLocation=touch.locationInNode(自身)
让touchedNode=self.nodeAtPoint(touchLocation)
if(touchedNode.name==“checkbutton”){
如果(inputText!.text==“motorka”| | inputText!.text==“motorka”| | inputText!.text==“motorka”){
runAction(SKAction.PlaySoundFileName(“correct.wav”,waitForCompletion:false))
正确。隐藏=错误
inputText!.hidden=true
check.hidden=true
设nextLevel=level2(大小:大小)
nextLevel.scaleMode=scaleMode
让transitionType=SKTransition.crossFadeWithDuration(1.4)
let wait=SKAction.waitForDuration(0.9)
let action=SKAction.runBlock{
视图?.presentScene(下一级,过渡:过渡类型)
}
self.runAction(SKAction.sequence([wait,action]))
}
否则{
unCorrect.hidden=false
runAction(SKAction.PlaySoundFileName(“错误答案音效.mp3”,waitForCompletion:false))
延迟(1.0){
self.unCorrect.hidden=true
}
}    

您必须弄清楚哪些数据必须传输到级别2。一旦传输完毕,您就可以在级别1中保存所需的数据(使用您已经知道的NSUserDefaults),然后将数据导入到级别2的开头

在一级中,你有一个拥有各种属性的敌人,比如生命值、力量和武器。你可以选择将这3个属性保存为字符串,存储在数组(或字典)中,然后保存在默认值中

当你达到2级时,你阅读NSUserDefaults,创建你的敌人并设置3个属性


有许多不同的方法可以实现上述目的,因此我的示例决不是唯一的方法或最好的方法。

您必须确定哪些数据必须传输到级别2。一旦传输完毕,您就可以在级别1中保存所需的数据(使用您已经知道的NSUserDefaults)然后将数据导入到级别2的开头

在一级中,你有一个拥有各种属性的敌人,比如生命值、力量和武器。你可以选择将这3个属性保存为字符串,存储在数组(或字典)中,然后保存在默认值中

当你达到2级时,你阅读NSUserDefaults,创建你的敌人并设置3个属性


有许多不同的方法可以完成上述操作,因此我的示例决不是唯一的方法或最好的方法。

游戏结束后,请关闭并再次打开。游戏将继续到2级?@PeterSan-不确定关闭游戏是什么意思。如果你指的是你的游戏,记得上次玩的是哪一级,那么也可以保存在NSUserDefaults中。根据保存的数据,由您决定如何以及在什么级别重新开始游戏。@PeterSan-这很好地解释了这一点。当您达到2级时,我使用NSUserDefaults创建了一个文本写入我:NextLevel。但是,如何让我在关闭游戏并重新启动时保存数据以继续到2级?@PeterSan-我不知道你的意思?!游戏关闭后,再打开它。游戏将继续到2级?@PeterSan-不确定你关闭游戏是什么意思。如果你指的是你的游戏,记得上次玩的是什么级别,那么也可以保存在NSUserDefaults中。这取决于你根据保存的默认值来确定数据,如何以及在什么级别重新开始游戏。@PeterSan-这很好地解释了这一点。当你达到2级时,我使用NSUserDefaults创建文本写入我:NextLevel。但是如何让我在关闭游戏时保存数据并再次启动以继续到2级?@PeterSan-我不知道你的意思?!在游戏关闭后,打开我t再次。游戏将继续到2级?@PeterSan-不确定你关闭游戏的意思。如果你指的是你的游戏,记得上次玩的是什么级别,那么也可以保存在NSUserDefaults中。这取决于你根据保存的数据,决定如何以及在什么级别重新开始游戏。@PeterSan-这很好地解释了这一点l、 当你达到2级时,我使用NSUserDefaults创建文本写入我:NextLevel。但是当我关闭游戏并再次启动它以继续到2级时,如何让我保存数据?@PeterSan-我不知道你的意思?!