Pausando uma cena do kit de sprite
@property (SK_NONATOMIC_IOSONLY, getter = isPaused) BOOL paused;
Eu encontrei essa linha de código que eu poderia adicionar ao meu projeto, como eu faria uma pausa no jogo inteiro?
Por exemplo:
-(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 você pode ver, eu tenho o botão configurado. Quando eu o seleciono, como pausar a cena inteira? E, em seguida, retome-o quando alguém clicar no botão Continuar.
OK, então eu tenho alguns conselhos para ligar
self.scene.view.paused = YES;
exceto aqui está o problema, no meu delegado do aplicativo
- (void)applicationWillResignActive:(UIApplication *)application{
SKView *view = (SKView *)self.window.rootViewController.view;
view.paused = YES;}
e
- (void)applicationDidBecomeActive:(UIApplication *)application{
SKView *view = (SKView *)self.window.rootViewController.view;
view.paused = NO;
Eu o tornei um tipo SKView, quando na verdade é um SKScene. Algum jeito de arrumar isso? Você sugere que eu transforme todas as minhas cenas em redigitação de todo o código?