如何为SKScene

时间:2016-03-28 16:59:52

标签: ios xcode swift skscene

我是Swift和Xcode,试图为iOS做一个简单的文本冒险。游戏从具有“开始”按钮的GameScene开始。当它在按钮上注册时,它会移动到第一个PlayScene实例。它有一些文本(场景的描述)和两个选项(按钮A和B)。当它在按钮上注册时,它会移动到相应的PlayScene实例。依此类推,直到它到达只有文本和重启按钮的EndScene。

我的想法是为PlayScene实现一个初始化程序,它将获取一个场景应该具有的文本以及应该遵循的下一个场景。所以在我的PlayScene.swift中我添加了以下内容:

let sceneText: String
let nextSceneA: PlayScene
let nextSceneB: PlayScene

init(sceneText: String, nextSceneA: PlayScene, nextSceneB: PlayScene) {
    self.sceneText = sceneText
    self.nextSceneA = nextSceneA
    self.nextSceneB = nextSceneB
}

我收到此错误:

  

'需'初始化程序" init(编码器:)'必须由' SKScene'

的子类提供

这是否意味着无法为SKScene的子类创建自定义初始值设定项?我怎么能实现这样的一系列场景?

1 个答案:

答案 0 :(得分:3)

你需要实现init(编码器:),即使它只是返回一个错误。

 required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }