xcode – 如何在GameViewController.swift中加载与GameScene.swift不同的spritekit文件?

xcode – 如何在GameViewController.swift中加载与GameScene.swift不同的spritekit文件?,第1张

概述在GameViewController. swift中,我找到了这一行 if let scene = GameScene(fileNamed:"GameScene") { 而且我一直认为,如果我想加载GameScene.swift以外的东西,我可以将“GameScene”更改为“LandingPage”,一切都可以正常工作.但是,正如我最近发现的那样,“GameScene”实际上是指GameSce 在GameVIEwController. swift中,我找到了这一行

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文件?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:http://outofmemory.cn/web/1048842.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-25
下一篇2022-05-25

发表评论

登录后才能评论

评论列表(0条)

    保存