2014-09-26 6 views
1

게임에 내 홈 버튼을 눌렀을 때 전환하려는 일시 중지 메뉴가 있습니다. 게임 내에서 작동하지만, 집에있는 버튼을 누르면 메뉴가 나타나지만 게임이 일시 중지되지 않습니다.ios8에서 appdelegate를 사용하여 spritekit 게임 일시 중지

내가 앱을 다시 시작하면 메뉴는 계속 표시되지만 게임이 일시 중지됩니다. spritekit은 앱을 종료하고 입력 할 때 자동으로 게임을 일시 중지하고 다시 시작하는 것처럼 보입니다. 앱 안에있을 때 나는 그것을 완전히 제어 할 수 있습니다. 하지만 앱을 종료하거나 앱에 들어가면 좋아하는 방식으로 작동합니다.

제안 사항?

func applicationWillResignActive(application: UIApplication!) { 
    // get the root viewcontroller 
    // toggle my pausemenu method. pause menu sets skview.paused = true 
} 

답변

1

일시 중지하는 NSNotificationGameSceneViewController에 보내기 SKScene :

AppDelegate에 :

GameSceneViewController
- (void)applicationWillResignActive:(UIApplication *)application 
{  
    // Pause sprite kit scene 
    [[NSNotificationCenter defaultCenter] postNotificationName:@"PauseGameScene" object:self]; 
} 

:

- (void)viewDidLoad { 
    [[NSNotificationCenter defaultCenter] addObserver:self 
              selector:@selector(pauseGameScene) 
               name:@"PauseGameScene" 
               object:nil]; 
} 

- (void)pauseGameScene { 
    if (self.skView.scene) { 
     self.skView.paused = self.skView.scene.paused = YES; 
    } 
} 
+0

는이 코드를 시도? 그것은 작동하지 않습니다. 게임에 다시 올 때 게임 자체가 다시 시작됩니다 – hamobi

+0

앱으로 다시 들어올 때 게임이 다시 시작되면 내가 게시 한 코드가 아니라 프로젝트 구조에 문제가있는 것입니다. 그것은 잘 작동합니다. –

+0

ive는 기본 spritekit 프로젝트를 만들고이 코드를 사용해 보았습니다. 현재 xcode/ios에서는 작동하지 않습니다. 당신이 구 버전에 있습니까? – hamobi

관련 문제