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.