Swift:如何为我的游戏处理视图控制器

Swift:如何为我的游戏处理视图控制器,第1张

Swift:如何为我的游戏处理视图控制器

要呈现3个场景,您的方法似乎非常复杂。它不是您应该为SpriteKit游戏做的,实际上只需要1个视图控制器(GameViewController)。

从GameViewController(例如HomeScene)加载您的第一个场景,仅此而已。直接在HomeScene中创建playButton和其他UI。将SpriteKit
API用于您的UI(SKLabelNodes,SKNodes,SKSpriteNodes等)。

您绝对不应在SpriteKit中真正使用UIKit(UIButtons,UILabels)。对此有一些例外,例如可能将UICollectionViews用于大量级别的选择菜单,但基本的UI应该使用SpriteKit
API完成。

Google上有很多教程,介绍如何创建Sprite
Kit按钮,如何使用SKLabelNodes等。Xpre具有SpriteKit级别编辑器,因此您可以在视觉上完成类似于故事板的所有 *** 作。

从HomeScene过渡到LevelSelect场景,再到GameScene,反之亦然。它超级容易做到。

/// Home Sceneclass HomeScene: SKScene {  ...   func loadLevelSelectScene() {       // Way 1       // pre only, no XCode/SpriteKit visual level editor used       let scene = LevelSelectScene(size: self.size) // same size as current scene       // Way 2       // with xCode/SpriteKit visual level editor       // fileNamed is the LevelSelectScene.sks you need to create that goes with your LevelSelectScene class.        guard let scene = LevelSelectScene(fileNamed: "LevelSelectScene") else { return }       let transition = SKTransition.SomeTransitionYouLike       view?.presentScene(scene, withTransition: transition)    }  }/// Level Select Sceneclass LevelSelectScene: SKScene {   ....     func loadGameScene() {        // Way 1        // pre only, no XCode/SpriteKit visual level editor used        let scene = GameScene(size: self.size) // same size as current scene        // Way 2        // with xCode/SpriteKit visual level editor        // fileNamed is the GameScene.sks you need to create that goes with your GameScene class.         guard let scene = GameScene(fileNamed: "GameScene") else { return }       let transition = SKTransition.SomeTransitionYouLike       view?.presentScene(scene, withTransition: transition)    } }/// Game Sceneclass GameScene: SKScene {   ....}

我强烈建议您使用情节提要和ViewController方法,并仅使用不同的SKScenes和1个GameViewController。

希望这可以帮助



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

原文地址:https://54852.com/zaji/5010346.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存