ios7 sprite-kit skscene skview

ios7 - Pausando una escena de kit de sprites



sprite-kit skscene (2)

@property (SK_NONATOMIC_IOSONLY, getter = isPaused) BOOL paused;

Encontré esta línea de código que podría agregar a mi proyecto, ¿cómo podría pausar todo mi juego?

Por ejemplo:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ for (UITouch *touch in touches) { SKSpriteNode *pause = (SKSpriteNode*)[self childNodeWithName:@"pause"]; CGPoint location = [touch locationInNode:self]; // NSLog(@"** TOUCH LOCATION ** /nx: %f / y: %f", location.x, location.y); if([pause containsPoint:location]) { NSLog(@"PAUSE GAME HERE SOMEHOW"); } }

}

Como puedes ver, tengo el botón configurado. Cuando lo seleccione, ¿cómo pausaría toda la escena? Y luego reanúdelo cuando alguien pulsa un botón de reanudar.

OK asi que tengo algunos consejos para llamar

self.scene.view.paused = YES;

excepto que aquí está el problema, en mi aplicación delegado

- (void)applicationWillResignActive:(UIApplication *)application{ SKView *view = (SKView *)self.window.rootViewController.view; view.paused = YES;}

y

- (void)applicationDidBecomeActive:(UIApplication *)application{ SKView *view = (SKView *)self.window.rootViewController.view; view.paused = NO;

Lo hago un tipo SKView, cuando en realidad es un SKScene. ¿Cualquier forma de arreglar esto? ¿Sugieres que convierta todas mis escenas en vistas al volver a escribir todo el código?


Usar la escena a la funcionalidad en pausa

self.scene?.view?.paused = true


Use la propiedad paused SKView :

Swift :

scene.view?.paused = true

Objetivo C :

self.scene.view.paused = YES;

Esto detendrá todas las acciones y simulación física.