2016-07-04 2 views
1

Я пытаюсь использовать переменную из моего файла GameScene.swift в моем файле GameViewController.swift, чтобы своевременно использовать мои межстраничные объявления. Это логическое значение, которое определяет, мертв ли ​​мой плеер или нет.Использовать логическое значение из другой сцены в SpriteKit - Swift

var died = Bool() 

Это все, что я сделал для создания переменной в моей GameScene.

Когда умер == true в моей GameScene, я хочу отправить его в свой GameViewController, а затем показать объявление межстраничного объявления. Мне просто нужно знать, как передать логическое значение между сценами. Спасибо вам за помощь.

ответ

1

Вы можете выполнить следующие шаги.

ли это в вашем GameScene:

protocol PlayerDeadDelegate { 
    func didPlayerDeath(player:SKSpriteNode) 
} 

class GameScene: SKScene { 
    var playerDeadDelegate:PlayerDeadDelegate? 
    ... 
    // during your game flow the player dead and you do: 
    playerDeadDelegate.didPlayerDeath(player) 
    ... 
} 

В GameViewController вы:

class GameViewController: UIViewController,PlayerDeadDelegate { 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     if let scene = GameScene(fileNamed:"GameScene") { 
       ... 
       scene.playerDeadDelegate = self 
     } 
    } 

    func didPlayerDeath(player:SKSpriteNode) { 
     print("GameViewController: the player is dead now!!!") 
     // do whatever you want with the property player.. 
    } 
} 
0

Ваш GameScene должен иметь ссылочный объект в качестве делегата (например, соответствует протоколу GameSceneDelegate), который фактически указывает на объект GameViewController. Затем, когда скончался, станет истинным, сообщите об этом объекте делегата (объект GameViewController) об этом событии с помощью метода-делегата и реализуйте этот метод, выполнив вышеуказанный протокол в вашем классе GameViewController.

+0

Я начинающий программист. Не могли бы вы привести мне пример кода? Или займет слишком много времени? –

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

  • Нет связанных вопросов^_^