Sprite kit 如何使教程页面仅在他们首先下载应用程序时显示?-斯皮特基特

Sprite kit 如何使教程页面仅在他们首先下载应用程序时显示?-斯皮特基特,sprite-kit,Sprite Kit,我正在创建一个游戏,在那里我创建了一个如何玩游戏的教程页面。我只想在他们第一次下载应用程序时显示教程页面。如果他们已经有了应用程序,让他们直接去玩游戏 以下是我的教程代码: class TutorialPage: SKScene{ let playGameButton = SKLabelNode(fontNamed: "Helvetica") override func didMove(to view: SKView) { // How to Play Title

我正在创建一个游戏,在那里我创建了一个如何玩游戏的教程页面。我只想在他们第一次下载应用程序时显示教程页面。如果他们已经有了应用程序,让他们直接去玩游戏

以下是我的教程代码:

 class TutorialPage: SKScene{


let playGameButton = SKLabelNode(fontNamed: "Helvetica")


override func didMove(to view: SKView) {





    // How to Play Title
    let tutorialLabel = SKLabelNode(fontNamed: "Helvetica")
    tutorialLabel.text = "How to Play"
    tutorialLabel.fontSize = 30
    tutorialLabel.fontColor = SKColor.pink
    tutorialLabel.position = CGPoint(x: self.size.width / 2, y: self.size.height * 0.75)
    tutorialLabel.zPosition = 1
    self.addChild(tutorialLabel)


    let movementLabel = SKLabelNode(fontNamed: "Helvetica")
    movementLabel.text = "Lorem Ipsum is a dummy text. 
    movementLabel.fontSize = 15
    movementLabel.fontColor = SKColor.blue
    movementLabel.position = CGPoint(x: self.size.width / 2, y: self.size.height * 0.65)
    movementLabel.zPosition = 1
    self.addChild(movementLabel)



    // PLay Game Button
    playGameButton.text = "Start Playing"
    playGameButton.fontSize = 25
    playGameButton.fontColor = SKColor.green
    playGameButton.position = CGPoint(x: self.size.width / 2, y: self.size.height * 0.2)
    playGameButton.zPosition = 1
    self.addChild(playGameButton)

}

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {

    for touch: AnyObject in touches{

        let pointOfTouch = touch.location(in: self)

        if playGameButton.contains(pointOfTouch){

            let sceneToMoveTo = GameScene(size: self.size)
            sceneToMoveTo.scaleMode = self.scaleMode
            let myTransition = SKTransition.doorsOpenHorizontal(withDuration: 1)
            self.view!.presentScene(sceneToMoveTo, transition: myTransition)

        }

    }

}






}
class-TutorialPage:SKScene{
让playGameButton=SKLabelNode(FontName:“Helvetica”)
覆盖func didMove(到视图:SKView){
//如何打标题
让tutorialLabel=SKLabelNode(名称为“Helvetica”)
tutorialLabel.text=“如何播放”
tutorialLabel.fontSize=30
tutorialLabel.fontColor=SKColor.pink
tutorialLabel.position=CGPoint(x:self.size.width/2,y:self.size.height*0.75)
tutorialLabel.zPosition=1
self.addChild(tutorialLabel)
让movementLabel=SKLabelNode(FontName:“Helvetica”)
movementLabel.text=“Lorem Ipsum是一个虚拟文本。
movementLabel.fontSize=15
movementLabel.fontColor=SKColor.blue
movementLabel.position=CGPoint(x:self.size.width/2,y:self.size.height*0.65)
movementLabel.zPosition=1
self.addChild(movementLabel)
//玩游戏按钮
playGameButton.text=“开始播放”
playGameButton.fontSize=25
playGameButton.fontColor=SKColor.green
playGameButton.position=CGPoint(x:self.size.width/2,y:self.size.height*0.2)
playGameButton.zPosition=1
self.addChild(playGameButton)
}
覆盖func TouchesBegind(Touchs:Set,带有事件:UIEvent?){
用于触摸:触摸中的任何对象{
let pointOfTouch=触摸位置(in:self)
如果playGameButton.contains(触点){
let sceneToMoveTo=游戏场景(大小:self.size)
sceneToMoveTo.scaleMode=self.scaleMode
让myTransition=SKTransition.doorsOpenHorizontal(持续时间:1)
self.view!.presentScene(sceneToMoveTo,transition:myTransition)
}
}
}
}

您需要保存一个变量,如hasShownTutorial:Bool=false。该变量表示您是否已向他们显示教程,然后在显示教程后将变量保存到NSUserDefaults或pList。启动时,您将加载该变量,如果为false,则向他们显示教程,如果为true,则将其保存到pListp阅读教程