Wie auf den aktuellen Viewcontroller in einem Sprite-Kit-Szene

Ich bin eine harte Zeit der Suche nach der Antwort auf diese Frage, die ich annehmen, ist nicht schwer.

Wie kann ich mich auf die Methoden und Eigenschaften definiert, die auf einem viewcontroller aus einer SKScene ?

Und darauf aufbauend: Wie kann Sie auf die ViewController aus einer SKScene, die geladen wurde, in einer anderen SKScene?

Abrufen der aktuellen rootViewController sollte genug für Sie sein, es sei denn, Sie müssen etwas bestimmtes. Sie können es so machen [UIApplication sharedApplication].keyWindow.rootViewController; . Andere Lösung wäre, Unterklasse SKScene und geben es presentingVC-Eigenschaft, legen Sie diese Eigenschaft bei der Erstellung jeder Szene zu senden um.
Sie sollten es vermeiden, Referenz UIViewController aus SKScene, denn es bricht MVC-Muster
Wie @AndreyGordeev erwähnt, sollten Sie wirklich vermeiden, verweisen auf Sie Szene viewController direkt. Es sollte nie zu wissen, über die viewController direkt. Was könnte es aber Sinn machen, ist die Implementierung einer delegate-Protokoll auf Ihrem SKScene-Unterklasse und die viewController, um diese zu delegieren. Vielleicht sollte man einen Schritt zurück treten und uns informieren, was Sie zu erreichen versuchen, sondern als eine Besondere Möglichkeit dies umzusetzen?
Ich fügte hinzu, Spiel-Center-Authentifizierung Logik, um mein Haupt-ViewController. Zur info ich arbeite mit einem einzigen viewcontroller als dies ist ein einfaches Spiel. Ich halte Eigenschaften auf meiner viewcontroller, verfolgen Allgemeine GameCenter Verfügbarkeit + den authentifizierten Benutzer. Nun, wenn mein Spiel endet, möchte ich, um meine Scores im gamecenter. So brauche ich, um in Kontakt mit meiner viewcontroller, um zu überprüfen, ob die gamecenter-Funktionalität ist verfügbar, und der Benutzer angemeldet ist. Ich will nicht, übergeben Sie die Eigenschaften für meinen SKScene, weil ich bin mir nicht sicher, was passieren wird, wenn der Benutzer wird nicht authentifiziert, während der Wiedergabe.

InformationsquelleAutor stvn | 2014-02-17

Schreibe einen Kommentar