@property (SK_NONATOMIC_IOSONLY, getter = isPaused) BOOL paused;
Я нашел эту строку кода, которую я мог бы добавить в свой проект, как мне приостановить всю игру?
Например:
-(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");
}
}
}
Как видите, у меня есть кнопка. Когда я выберу его, как мне приостановить всю сцену? А затем возобновите его, когда кто-то нажмет кнопку возобновления.
Хорошо, так что я получил совет позвонить
self.scene.view.paused = YES;
за исключением того, что проблема в моем делегате приложения
- (void)applicationWillResignActive:(UIApplication *)application{
SKView *view = (SKView *)self.window.rootViewController.view;
view.paused = YES;}
а также
- (void)applicationDidBecomeActive:(UIApplication *)application{
SKView *view = (SKView *)self.window.rootViewController.view;
view.paused = NO;
Я делаю его типа SKView, хотя на самом деле это SKScene. В любом случае, чтобы исправить это? Вы предлагаете мне превратить все мои сцены в представления, перепечатав весь код?