Pausing a sprite kit scene
ios7, skscene, skview, sprite-kit
Solution
Use `SKView`'s `isPaused` property:
Swift:
scene.view?.isPaused = true
Objective C:
self.scene.view.isPaused = YES;
This will stop all actions and physics simulation.
Problem
``` @property (SK_NONATOMIC_IOSONLY, getter = isPaused) BOOL paused; ``` I found this line of code that I could add into my project, how would I pause my whole game? For example: ``` -(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"); } } ``` } As you can see, I have the button set up. When i select it, how would I pause the whole scene? And then resume it when someone hits a resume button. OK SO I got some advice to call ``` self.scene.view.paused = YES; ``` except here is the problem, in my app delegate ``` - (void)applicationWillResignActive:(UIApplication *)application{ SKView *view = (SKView *)self.window.rootViewController.view; view.paused = YES;} ``` and ``` - (void)applicationDidBecomeActive:(UIApplication *)application{ SKView *view = (SKView *)self.window.rootViewController.view; view.paused = NO; ``` I make it a type SKView, when it is actually an SKScene. Anyway to fix this? Do you suggest that I make all my scenes into views by retyping all the code?