Приостановка сцены набора спрайтов

@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. В любом случае, чтобы исправить это? Вы предлагаете мне превратить все мои сцены в представления, перепечатав весь код?


person temp    schedule 06.02.2014    source источник
comment
Вы, кажется, запутались в сценах и представлениях. Вы играете в свою skscene НА skview. Приостановка SKScene или SKView приостанавливает игру, но, как предлагает Андрей ниже, это лучший способ.   -  person ZeMoon    schedule 31.05.2014


Ответы (3)


Используйте SKView isPaused:

Свифт:

scene.view?.isPaused = true

Цель C:

self.scene.view.isPaused = YES;

Это остановит все действия и симуляцию физики.

person Andrey Gordeev    schedule 06.02.2014

Используйте сцену для приостановки функциональности

self.scene?.view?.paused = true
person Raksha Saini    schedule 08.08.2015

Свойство «paused» было переименовано в «isPaused».

scene?.view?.isPaused = true
person Björn Hjorth    schedule 08.04.2020