xcode – 如何在GameViewController.swift中加载与GameScene.swi
发布时间:2020-12-14 19:19:52 所属栏目:百科 来源:网络整理
导读:在GameViewController. swift中,我找到了这一行 if let scene = GameScene(fileNamed:"GameScene") { 而且我一直认为,如果我想加载GameScene.swift以外的东西,我可以将“GameScene”更改为“LandingPage”,一切都可以正常工作.但是,正如我最近发现的那样,“G
在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 } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |