Как создать главное меню для спрайтекита, созданного с помощью swift в xcode?

Я создал действительно простую игру в xcode, используя spritekit и swift. Я закончил кодировать саму игру. Теперь я хочу создать главное меню, чтобы при открытии игры было меню с кнопками, которые либо заходили в настройки, либо запускали игру. Я понятия не имею, как я могу это сделать. Должен ли я использовать раскадровку? И если так, как я могу реализовать это в XCode. Спасибо всем :)

10 голосов | спросил King_Cui 8 AM00000050000005231 2015, 05:00:52

1 ответ


0

Создайте два новых файла. Одна сцена набора спрайтов и один файл касания какао. Назовите их так же, например, MenuScene. Чтобы создать файлы, нажмите на папку на боковой панели вашего проекта xcode. Затем, чтобы показать MenuScene при запуске приложения, перейдите в файл GameViewController. Под viewDidLoad есть строка. if let scene = GameScene.unarchiveFromFile("GameScene") as? GameScene { измените это на if let scene = MenuScene.unarchiveFromFile("MenuScene") as? Menu Scene { Тогда в вашем MenuScene у вас должна быть кнопка, которая приведет вас к вашей GameScene

import SpriteKit

class MenuScene: SKScene {

var playButton = SKSpriteNode()
let playButtonTex = SKTexture(imageNamed: "play")

override func didMoveToView(view: SKView) {

    playButton = SKSpriteNode(texture: playButtonTex)
    playButton.position = CGPointMake(frame.MidX, frame.midY)
    self.addChild(playButton)


override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {


    if let touch = touches.first as? UITouch {
        let pos = touch.locationInNode(self)
        let node = self.nodeAtPoint(pos)

        if node == playButton {
            if let view = view {
                let scene = GameScene.unarchiveFromFile("GameScene") as! GameScene
                scene.scaleMode = SKSceneScaleMode.AspectFill
                view.presentScene(scene)   
            }   
        }   
    }       
}

Спросите, нужны ли вам дополнительные объяснения.

ответил Miles Militis 9 AM00000020000004331 2015, 02:23:43

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132