在GameViewController.swift中,我找到了这一行
if let scene = GameScene(fileNamed:"GameScene") {
而且我一直以为,如果我想加载GameScene.swift以外的其他东西,我可以将“ GameScene”更改为“ LandingPage”,然后一切都会正常进行。但是,正如我最近发现的那样,此处的“ GameScene”实际上是指GameScene.sks,而不是swift文件。
我正在寻找一款具有多个关卡的游戏,每个关卡都以自己的快速文件编写。我要去哪里/如何从level1.swift迁移到level2.swift?
例如,如果您处于一个场景中,例如,关卡选择场景,则可以LevelSelectionScene.swift
通过SKView
的-presentScene:transition:
方法转到另一个场景。
class LevelSelectionScene: SKScene {
override func didMoveToView(view: SKView) { /* ... */}
func selectLevel(level: Int) {
let fadeTransition = SKTransition.fadeWithDuration(0.3)
if let selectedLevel = createLevelSceneWithLevel(level) {
self.view?.presentScene(selectedLevel, transition: fadeTransition)
}
}
// Not a good idea if you progressively adding new levels,
// it's totally depend on how you gonna organize your levels.
// Since its level input is not arbitrary, the output of this
// rarely nil, if it does, it must be the developer mistake.
func createLevelSceneWithLevel(level: Int) -> SKScene? {
let levelScene: SKScene?
switch level {
case 1: levelScene = Level1()
case 2: levelScene = Level2()
default: levelScene = nil
}
return levelScene
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句