2015-06-26 2 views
2

У меня возникли проблемы с определением, как сменить контроллеры представлений, когда ваш игрок столкнулся с объектом.Как изменить View Controller, когда игрок сталкивается с объектом?

Я хочу, чтобы появилось меню, отображающее кнопку меню и кнопку воспроизведения, а также дополнительные кнопки, которые не важны в данный момент времени. Я не уверен, что некоторые из этих концов меню игры сделаны, я думаю, что переключаю контроллеры просмотра, если вы точно знаете, как они сделаны, пожалуйста, скажите мне.

Это код, у меня есть на данный момент, и единственным, что она делает, это отображает ярлык, что игра закончена, и когда прослушивается, что ярлык игра будет перезапущена:

import Foundation 
import AVFoundation 
import SpriteKit 

class GameScene: SKScene, SKPhysicsContactDelegate { 

var movingGround: PPMovingGround! 
var square1: PPSquare1! 
var wallGen: PPWallGen! 
var diamondGen: PPDiamondGen! 

var isStarted = false 
var isGameOver = false 
var isDiamondContact = false 

var playerNode: SKNode! 

override func didMoveToView(view: SKView) { 

//code that is not important was deleted 
func collisionWithDiamond() { 
    isDiamondContact = true 
} 

func restart() { 

    let newScence = GameScene(size: view!.bounds.size) 
    newScence.scaleMode = .AspectFill 

    view!.presentScene(newScence) 
} 

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

    } else { 
     square1.flip() 
    } 
} 

override func update(currentTime: CFTimeInterval) { 

} 

// MARK: - SKPhysicsContactDelegate 
func didBeginContact(contact: SKPhysicsContact) { 

    if !isGameOver { 
     gameOver() 
    } else { 
     !isDiamondContact 
     collisionWithDiamond() 
    } 
} 

Примечания: Я удалил код, который не связан или не нужен.


Обновления:

Ссылка на игру в игре: https://www.youtube.com/watch?v=WUibTETfEQY

SKIP TO 2:32, чтобы увидеть игру OVER SCREEN

Ссылка на изображение игры над экраном: Image

(Мне не удалось отправить изображение здесь, потому что у меня пока нет нужных 10 пунктов).

ответ

1

// Отредактированный ответ

Это будет самый простой. Создайте новый GameOverScene.swift, который является SKScene. Затем настройте эту сцену, как вы хотите, с фоновым изображением, SKLabelNodes для кнопок. Оформить заказ creating buttons in skview to point to different scenes

Когда игра заканчивается в GameScene,

let gameOverScene: GameOverScene = GameOverScene(size: self.size) 
self.view!.presentScene(gameOverScene, transition: SKTransition.doorsOpenHorizontalWithDuration(1.0)) 

Вот проект, который это реализуется, http://www.raywenderlich.com/76741/make-game-like-space-invaders-sprite-kit-and-swift-tutorial-part-2

// Первый ответ ------------ -----------------------------------

Если вы хотите переключить viewControllers, вам придется представить новый viewController как этот или с помощью segue,

self.view?.window?.rootViewController?.presentViewController(newView, animated: true, completion: nil) 

self.view?.window?.rootViewController?.performSegueWithIdentifier("id", sender: AnyObject) 

В противном случае создайте кнопки SKView и добавьте их, затем добавьте их в сцену, когда игра закончится или добавьте ее раньше, скройте ее и покажите.После того, как пользователь выбирает выбор, удалить его или скрыть его,

SKView.hidden = false 
SKView.hidden = true 

Добавить SKView с,

self.view?.addSubview(SKView) 

Простой SKView накладку,

let view1 = SKView(frame: CGRectMake(0, 0, 200, 200)) 
view1.center = self.view!.center 
self.view?.addSubview(view1) 
+0

Я добавил ссылку на игру через экран, чтобы помочь вам понять мой вопрос, и я также добавил изображение вместе с ним. – Swift101

+0

Нужно ли мне создать новый класс Touch Cocoa и выбрать подкласс SKView или SKScene? – Swift101

+0

Вам не обязательно. Вот простой набросок SKView. Ответ Редактировать – Rasputin

0

Если игра закончилась, и вы хотите представить выборочное меню, вы можете представить UIAlertView, который представляет пользователь с любыми параметрами, которые вы хотите. Оттуда они могут перезапустить игру, или они могут выбрать какой-нибудь другой вид, такой как тот, который управляет их статистикой игроков или чем-то (я не знаю, что именно ваша игра).

+0

Я хочу пользовательскую игру над поп-вверх вещи , Я обновлю свой пост с изображением и ссылкой на игру игры, так что тогда вы сможете точно увидеть, как мне это сделать. – Swift101

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