2014-04-15 8 views
0

사용자가 시작 버튼 또는 검색 버튼을 눌러 휴면 상태로 설정하는 상황을 처리하려고합니다. 기본적으로 일시 중지 화면을로드하여 사용자가 응용 프로그램으로 돌아올 때 일시 중지 화면이 표시되도록하려고합니다.WP8 용 Monogame - 비활성화 할 때 일시 중지 화면로드

비활성화 된 방법으로 새 ​​화면을 만들려고 할 때 어려움에 처했습니다. 콘텐츠 관리자 같은 항목이 이미 비활성화되어있어 콘텐츠를로드 할 수 없습니다.

이 문제가 발생합니까? 나는. 비활성화 된 메서드에서 새 내용을로드 할 수 있습니까? 나는 그것이 당신의 OnDeactivate 문제를 해결할 수 있도록 몇 가지 사전 컨텐츠로드 기능을 구현하는 것이 좋습니다

void GameDeactivated(object sender, DeactivatedEventArgs e) 
    { 
     // Mute the game. 
     //MediaPlayer.IsMuted = true; 
     //AudioManager.IsMuted = true; 

     GameScreen[] screens = mScreenManager.GetScreens(); 

     if(screens[screens.Length - 1] is GameplayScreen) 
     { 
      Debug.WriteLine("I am here and the last screen is a gameplay one"); 

      GameplayScreen gs = (GameplayScreen) screens[screens.Length - 1]; 

      Debug.WriteLine("here and " + gs.Level.LevelData.Index); 

      //AudioManager.PauseSong(); 

      // This is the error line as when it tries to load the new screen it gets null reference exceptions. 
      //mScreenManager.AddScreen(new PauseScreen(gs.Level.LevelData), null); 

     } 


     base.OnDeactivated(sender, e); 


    } 

답변

0

:

여기에 지금까지 내 코드입니다. "주문형"을 로딩하면 새로운 괴물이 처음으로 렌더링되고 콘텐츠가로드되고 디스크의 콘텐츠 파일에 대한 호출이 ~ 초 동안 낮은 fps로 재생되는 경우 게임이 느려질 수 있습니다. wasGameDeactivated과 같은 부울을 추가하고 OnGameActivated에 일시 중지 상태를로드 할 수도 있습니다.