我正在使用Swift在XCode中制作游戏,我想在实际游戏之前添加一个起始屏幕。我不想只是一个淡出的图像,我想要一个带有“播放”,“选择字符”和一些按钮的屏幕。我不知道我是否应该添加一个新的swift文件,添加一个sks文件,编辑GameScene.swift文件?我刚刚开始在SpriteKit开发,如果你能解释我如何正确地做这件事,那将会很棒。感谢。
答案 0 :(得分:0)
UIViewController
。UIViewController
,转到编辑器>嵌入> UINavigationController的
navigationBarHidden
执行此操作〜更多细节〜
成功添加开始屏幕或根视图控制器后,为每个页面或屏幕添加一个ViewController,您需要通过拖动一个来显示开始屏幕进入故事板文件的时间。
您需要在main.storyboard文件中使用视图控制器代表所有屏幕,下一步是控制点击来自"开始屏幕上的每个UIButton&# 34;到将显示其目标屏幕的ViewController。
答案 1 :(得分:-1)
您可以创建新的Sprite Kit场景和新的swift文件, 然后将您的swift文件的类别放入“自定义类别”检查器中, gamescene.sks,因此它将与默认GameScene一样工作。
然后在viewDidLoad中而不是原始GameScene中初始化菜单场景
if let menu = SKScene(fileNamed: "MainMenu") {
menu.scaleMode = .aspectFill
view.presentScene(menu)
}
您可以这样切换到原始场景(例如):
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
if let touch = touches.first {
let posistion = touch.location(in: self)
let node = self.atPoint(posistion)
if node == yourNode {
if let originalScene = SKScene(fileNamed: "GameScene") {
originalScene.scaleMode = .aspectFill
view?.presentScene(originalScene)
}
}
}
}