2016-07-31 10 views
-1

Я пытаюсь представить контроллер представления с именем GameEndViewController, который я создал в main.storyboard с кнопками som и ярлыками, используя автоматическую компоновку из SKScene под названием PlayGameScene. Я не знаю, как использовать NSNotificationCenter, чтобы заставить GameViewController представлять GameEndViewController.Представьте другую сцену контроллера представления, созданную в main.storybord из SKScene

Может ли кто-нибудь сказать мне, как использовать NSNotificationCenter для представления GameEndViewController из PlayGameScene с помощью swift или связать меня с сайтом, где я могу его изучить?

Заранее благодарен!

+0

Слишком широкий: есть слишком много возможных ответов, или хорошие ответы слишком долго для этого формата. Пожалуйста, добавьте детали, чтобы сузить набор ответов или изолировать проблему, на которую можно ответить в нескольких пунктах –

ответ

0

Вы не используете NSNotificationCenter для представления новых представлений. NSNotifications может использоваться для одной части вашего приложения, чтобы сообщить другой части вашего приложения, что произошло нечто асинхронное, но это не похоже на то, о чем вы просите.

Чтобы представить новый контроллер представлений, когда ваша игра заканчивается, создайте для него сцену в раскадровке, а затем запускайте это программно, как описано in this SO answer.

Однако, в качестве альтернативы, рассмотрите вопрос о том, чтобы оставаться в одном контроллере представления и вместо этого представлять SKSCene «игра» в SKView, поскольку это может дать лучший пользовательский интерфейс.

0

Я узнал, что я могу использовать NSNotificationCenter, чтобы сообщить контроллеру вида SKScene изменить вид, вызвав segue, созданный в раскадровке.

Я написал следующий код в GameViewController:

NSNotificationCenter.defaultCenter().addObserver(self, selector: "showGameEndViewController", name: "showGameEndViewController", object: nil) 
} 
func showGameEndViewController() -> Void { 
    performSegueWithIdentifier("gameOverSegue", sender: nil) 
} 

Работа в качестве приемника для сообщения NSNotificationCenter.

Далее я добавил код отправителя к SKScene:

И, наконец, я создал SEGUE в main.storyboard между GameViewController и GameEndViewController.