Ausblenden / Anzeigen von iAds in Spritekit

7

Ich habe versucht herauszufinden, wie ich iAds in meinen Spritekit-Szenen verstecken und anzeigen kann. Momentan habe ich es so eingerichtet:

ViewController.h

%Vor%

ViewController.m

%Vor%

Dann in meiner Szene greife ich meinen Viewcontroller mit einem Zeiger:

%Vor%

Mein nslog wird in der Konsole ausgeführt, damit ich weiß, dass es läuft. Aber das Banner wird sich nicht verstecken. Irgendwelche Gedanken? Ich bin ziemlich neu mit objektiven c, also habe ich das Gefühl, ich mache nur etwas dummes.

    
Negora 09.02.2014, 20:03
quelle

3 Antworten

18

Wie Huygamer sagte, erstellen Sie eine neue Instanz eines View-Controllers. Wenn Sie also Ihre Methode [controller hidesBanner]; aufrufen, beziehen Sie sich auf ein anderes Objekt.

Der beste Ansatz ist hier NSNotificationCenter zu verwenden: Ссылка

Und senden Sie eine Nachricht an Ihren Viewcontroller, wenn Sie Ihre Anzeige ausblenden oder anzeigen möchten:

ViewController.m

%Vor%

Und in deiner Szene:

%Vor%     
bangerang 23.02.2014, 11:20
quelle
0

Natürlich gibt es zwei Objekte und warum denkst du, dass das möglich ist?

Wenn Sie auf den Elternteil von skscene zugreifen möchten, tun Sie dies einfach

  

UIViewController * vc = self.view.window.rootViewController;

Sie können auf die Eltern dieser Skszene zugreifen und Sie können hideBanner am Elternteil dieser Szene tun. Einfach?

    
Huygamer 10.02.2014 18:45
quelle
0

Hier ist, was ich getan habe, damit es mit SpriteKit-Szenen (Xcode 6.1 und iOS 8.1 auf iPhone 6) funktioniert:

Schritt 1 - Fügen Sie #import & lt; "iAd / iAd.h" & gt; in MyScene.h Header-Datei

Schritt 2- Stellen Sie sicher, dass Sie Ihre MyScene-Klasse deklarieren, um das Protokoll in der MyScene.h-Headerdatei zu implementieren.

Schritt 3- Fügen Sie die folgenden Codezeilen in Ihrer MyScene.m-Datei ein - (Void) didMoveToView: (SKView *) View-Funktion.

%Vor%

Schritt 4- Implementieren Sie die beiden Methoden von iAd

%Vor%

Der obige Code verschiebt den Anzeigerahmen in die Szene, wenn eine Anzeige vorhanden ist, und entfernt den Frame, wenn keine Anzeige vorhanden ist, indem er die Bewegung animiert. Beachten Sie, dass die letzte Zahl im Vollbild-Rechteck 0 ist. Es spielt keine Rolle, was Sie dort eingeben, die Bannerhöhe ist festgelegt und ändert sich nicht (50 pt).

Schritt 5- Reagieren Sie auf Anzeigenaktionen mit diesem Code:

%Vor%

Dieser Code stoppt den Spieltimer, wenn ein Benutzer auf das Banner klickt und den Spieltimer wieder aufnimmt, nachdem der Benutzer zum Spiel zurückgekehrt ist. Sie können hier Ihren eigenen Code zum Speichern und Abrufen von Spieldaten hinzufügen.

Hoffe, das hilft.

    
alniaymy 04.01.2015 03:02
quelle