Faire une pause d'un sprite kit de scène

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

J'ai trouvé cette ligne de code que je pourrais ajouter dans mon projet, comment pourrais-je pause mon jeu entier?

Par exemple:

-(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");
    }
}

}

Comme vous pouvez le voir, j'ai le bouton configurer. Quand je le sélectionner, comment pourrais-je le mettre en pause l'ensemble de la scène? Et puis le reprendre quand quelqu'un frappe un bouton reprendre.

OK, DONC j'ai quelques conseils à l'appel

  self.scene.view.paused = YES;

sauf qu'ici est le problème, dans mon application délégué

- (void)applicationWillResignActive:(UIApplication *)application{


SKView *view = (SKView *)self.window.rootViewController.view;
view.paused = YES;}

et

- (void)applicationDidBecomeActive:(UIApplication *)application{

    SKView *view = (SKView *)self.window.rootViewController.view;
    view.paused = NO;

Je me fais un type SKView, quand il est en fait un SKScene. De toute façon de résoudre ce problème? Suggérez-vous que je fais toutes mes scènes dans les vues en train de retaper tout le code?

  • Vous semblez être confus au sujet de Scènes et Vues. Vous jouez de votre skscene SUR un skview. Pause le SKScene ou la SKView met en pause le jeu, mais comme Andreï suggère ci-dessous est la meilleure méthode.
InformationsquelleAutor temp | 2014-02-06