2012-02-15 2 views
1

게임의 상태를 저장하는 방법에 대한 기사가 많이 있으며 꽤 좋습니다. 그러나 나는 국가를 구해야 만하는 개념적인 오해가 하나 있습니까? 그 다음은 화면 클래스에서 상속 MainSceneScreenMainMenuScreen이다의게임 상태를 저장 /로드해야하는 메서드 메서드에는

내 libGDX 게임 화면의 수와 쌍을 가지고있다. MainMenuScreen 게임 시작시 MainSceneScreen 조금 후에 표시됩니다.

무엇이 문제입니까? MainSceneScreen로 이동하여 Android에서 응용 프로그램을 중지하도록했습니다 (이 작업을 수행하려면 장치의 언어 설정이 변경됨). 그 후 응용 프로그램을 다시 선택하면 MainMenuScreen이 표시됩니다. 하지만 MainSceneScreen이 표시되기를 바랍니다.

resume 메서드를 재정의해야한다고 가정합니다. 그러나 어느 것? 나는 libgdx 클래스를 확장하는 클래스가 있습니다. 나는 그 resume 메쏘드에 중단 점을 넣었고 그 메쏘드는 호출되지 않았다. 나는이 문제를 조사하고 나는 libGDX에 AndroidApplication 클래스의 onResume 방법이 이상한 코드를 발견했습니다

if (!firstResume) 
     graphics.resume(); 
    else 
     firstResume = false; 

내 디버거 firstResume이 사실과 (graphics.resume에 가지 않았다) 행.

  1. 내가 뭘 잘못 했니?
  2. 어떤 방법을 재정의해야합니까?
+1

대신 http://gamedev.stackexchange.com/에서 Q를 게시 해보십시오. –

+0

LOL - 이미 그랬습니다 : o) –

답변

1

난 당신을 올바르게 좁혀 것 같은데, 당신은 당신의 Game 서브 클래스에 resume 메서드 호출시 저장된 상태를 복원해야합니다. 다른 앱으로 전환 한 다음 앱으로 다시 전환하는 경우 (앱이 종료되는 단계를 거치지 않고 호출해야 함)이 호출되어야합니다. 어떤 이유에서든 libgdx는 resume 호출을 초기 시작으로 전달하지 않습니다 (이 설계는 장기적으로는 좋은 생각 일 수 있지만 시작시 약간 혼란 스럽습니다). Game (응용 프로그램 시작시에만 호출 됨)의 create 메서드에서 복원 코드를 호출하기 쉽기 때문에 게임의 첫 번째 시작에 '다시 시작'동작이 적용됩니다.

관련 문제