Pregunta

He creado un método en ViewController.H llamado - (Void) ShowFulllScreenad.

Intenté llamarlo dentro de mi escena. Intenté [self.view.window.rootContontroller ShowfulllScreenad].No puedo encontrar este método.

Probé ViewController * VC= [[ViewController alloc] init]

Hizo con éxito NSLOG "Solicitud de anuncio intersticial".Pero no se muestra ningún anuncio.

Si uso el método directamente en viewcontroller.m - ViewDidload, IT NSLOG del mismo mensaje "Solicitud de anuncio intersticial" y muestre un anuncio intersticial.

¿Fue útil?

Solución

I usaría notificaciones: el objeto GeneracDicEtGode, publica una notificación de ancho de sistema (SKScene) en el centro de notificación (NSNotification), y el controlador de visión dirigido solo 'registros' (es decir, escucha) a esa misma notificación e implementa un controladormétodo.Este es un patrón generalizado en el Objetivo-C / Cococa.

Algunos beneficios son:

  1. Es extensible: si en el futuro, desea enviar el mismo mensaje al controlador Ver una escena diferente, simplemente publique la misma notificación de la nueva escena: sin necesidad de incluir encabezados y definir un nuevopropiedad.Solo necesito, incluya la definición del nombre de la notificación.

  2. El controlador Ver posee la vista, y la vista presenta la escena.Por no referenciar el controlador de la vista de la escena, evita el riesgo de un ciclo de referencia y, por lo tanto, una fuga de memoria.

  3. Por cierto, esto es lo que hago en mis juegos.

Otros consejos

Una sugerencia de cómo usar IAD;

en ViewController.m:

MyScene * scene = [MyScene sceneWithSize:skView.bounds.size];
scene.viewController = self;

y luego en su MyScene.H Pon esas líneas:

#import "ViewController.h"

@property (nonatomic) ViewController *viewController;

tampoco olvide agregar IAD en ViewController.m;

[self.view addSubview:adView];

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top