2016-08-23 3 views
2

Also, ich habe eine Funktion in meiner GameScene.swift Datei, die ich jedes Mal aufrufen möchte, wenn mein Spiel aktiv wird. Momentan leite ich diese Funktion in didMoveToView in meiner GameScene.swift-Datei, aber sie läuft nur, wenn die App startet, nachdem sie komplett geschlossen wurde und ich würde es jedes Mal machen wollen, wenn das Spiel aktiv wird. (user hit home button und dann wieder app)Anruffunktion in applicationdidbecomeactive - Swift 2.0

Ich nehme an, das Ausführen der Funktion in applicationdidbecomeactive in der AppDelegate.swift Datei würde funktionieren, aber ich bin mir nicht sicher, wie dies zu tun ist oder ob es tatsächlich möglich ist. Jede Hilfe wäre willkommen.

+0

Es könnte erwähnen helfen, dass diese func nur einige SKSpriteNode Texturen wie so zu ändern ... backgroundSprite.texture = SKTexture (imagenamed: "tempBG ") Wenn es eine andere Möglichkeit gibt, die Texturen zu ändern, wenn die App aktiv wird, bin ich ganz Ohr. Vielen Dank! – Mythrid12

Antwort

3

Sie können einen Beobachter in Ihrem GameScene.swift für UIApplicationDidBecomeActiveNotification hinzufügen und Ihre Funktion aufrufen. z.B.

NSNotificationCenter.defaultCenter().addObserver(self, 
selector: #selector(GameScene.yourfunction, 
name:UIApplicationDidBecomeActiveNotification, object: nil) 
+0

#selector ist jetzt der geeignete Weg, um einen Selektor zu schreiben. – tktsubota

+0

Einverstanden und bearbeitet – firstinq

+0

Das hat es geschafft! Vielen Dank! – Mythrid12

0

In dieser Situation eine NSNotification in applicationdidbecomeactive im AppDelegate posten.

Dann hängen Sie einen Listener an Ihre GameScene.swift-Datei an.

let nc = NSNotificationCenter.defaultCenter() 
nc.addObserver(self, selector: "didBecomeActive", name: "didBecomeActive", object: nil) 

Schließlich implementieren, um die Wähler "didBecomeActive"

func didBecomeActive(notification:NSNotification) { 
    //Call your function here 
    // 
}