我是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的子类创建自定义初始值设定项?我怎么能实现这样的一系列场景?
答案 0 :(得分:3)
你需要实现init(编码器:),即使它只是返回一个错误。
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}