2015-03-11 7 views
5

Одна из моих основных причин использования Xcode вместо других приложений для приложений iOS - это построитель интерфейса раскадровки. Я был недоволен, когда узнал, что вы не собираетесь использовать раскадровки с помощью spriteKit. Мне сложно создать приятный интерфейс для меню игры без хорошего визуального построителя. Есть ли способ запустить приложение spriteKit с помощью раскадровки, затем одним нажатием кнопки «начать игру», переключиться на сценарии spriteKit, а затем, когда вы проиграете игру, в коде вернитесь к раскадровки (используя быстрый)? Пожалуйста, помогите и спасибо.Как использовать раскадровки с помощью spriteKit с помощью swift

-Callum-

ответ

6

SpriteKit Сцена представлена ​​на экземпляре SKView, который является подклассов UIView.

Для iOS-игры, созданной с использованием SpriteKit, необходимо настроить как минимум один viewController, либо программно в делегате приложения, либо в раскадровке, на котором может отображаться SKScene. На главном экране этого VC будет представлен SKScene.

Итак, если вы используете раскадровку, игра iOS должна будет создать экземпляр корневого viewController. Вы можете легко создать свой пользовательский интерфейс на viewController и представить игру из кода нажатием кнопки либо в том же режиме viewController, либо в новом. Все это будет очевидно после того, как вы прочитаете учебник для начинающих SpriteKit, используя Swift, например this.

Предположим, ваш корневой viewController имеет ваше главное меню (на другое представление под названием menuView), с кнопкой воспроизведения на нем. Теперь представляя игру на нажатие кнопки будет выглядеть примерно так:

class MyViewController: UIViewController { 
    @IBOutlet wear var menuView: UIView? 
    @IBOutlet weak var playButton: UIButton? 

    @IBAction func likedThis(sender: UIButton) { 
    //Hide the menu view 
    menuView.hidden = true 

    //instantiate and present the scene on the main view 
    let scene = MyScene(size: view.bounds.size) 
    let skView = self.view as SKView 
    skView.presentScene(scene) 
    } 
} 

Что касается возвращения в главное меню со сцены, посмотрите на эту answer.

Смежные вопросы