我是Swift和Xcode,试图为iOS做一个简单的文字冒险。游戏从具有“开始”按钮的GameScene开始。当它在按钮上点击时,它将移动到第一个PlayScene实例。它具有一些文本(场景描述)和两个选项(按钮A和B)。当它在按钮上注册轻击时,它将移至相应的PlayScene实例。依此类推,直到到达EndScene,该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(coder :)”必须由“SKScene”的子类提供
这是否意味着无法为SKScene的子类创建自定义初始化程序?我还能如何实现这样的一系列场景?
最佳答案
您需要实现init(coder :),即使它所做的只是返回一个错误。
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
关于ios - 如何为SKScene的子类创建初始化程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36266971/