if let scene = GameScene(filenamed:"GameScene") {
而且我一直认为,如果我想加载GameScene.swift以外的东西,我可以将“GameScene”更改为“LandingPage”,一切都可以正常工作.但是,正如我最近发现的那样,“GameScene”实际上是指GameScene.sks而不是swift文件.
我正在寻找一个具有多个级别的游戏,每个级别都用自己的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 }}总结
以上是内存溢出为你收集整理的xcode – 如何在GameViewController.swift中加载与GameScene.swift不同的spritekit文件?全部内容,希望文章能够帮你解决xcode – 如何在GameViewController.swift中加载与GameScene.swift不同的spritekit文件?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)