Question

Il y a beaucoup d'articles sur la façon de sauver un état d'un jeu et ils sont assez bons. Mais j'ai un malentendu conceptuel où dois-je enregistrer l'état?

Mon jeu a libGDX nombre d'écrans et deux d'entre eux sont MainMenuScreen et MainSceneScreen elles sont héritées écran classe. MainMenuScreen est indiqué au début du jeu, le MainSceneScreen peu plus tard.

Quel est le problème? Je naviguais à MainSceneScreen , forcé Android pour arrêter l'application (je change un des paramètres de langue sur l'appareil pour y parvenir). Après que je sélectionne à nouveau l'application et je peux voir MainMenuScreen est affiché. Mais je veux MainSceneScreen à afficher.

Je suppose que je devrais passer outre la méthode de resume. Mais lequel? J'ai la classe PsGame qui étend Jeu classe de libgdx. Je mets à sa méthode des points d'arrêt de resume et il est apparu que la méthode n'a pas été appelé. J'ai étudié le problème et je l'ai trouvé ce code étrange dans la méthode onResume de AndroidApplication classe libGDX:

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

Mon débogueur dit firstResume est vrai et ne pas aller à graphics.resume () ligne.

  1. Qu'est-ce que je fait de mal?
  2. Quelles méthodes dois-je remplacer?
Était-ce utile?

La solution

Je pense que vous avez réduit ce bas correctement, et vous devriez être restaurer votre état enregistré au cours de l'appel de la méthode resume sur votre sous-classe Game. Cela devrait être appelé si vous passez à une autre application pour un peu, puis revenez à votre application (sans passer par les étapes qui causeront l'application à terminer). Pour une raison quelconque, libgdx ne transmet pas l'appel resume pour le démarrage initial (cette conception est probablement une bonne idée à long terme, mais il est un peu déroutant lors du démarrage). Son assez facile pour appeler votre restauration du code de la méthode create dans votre Game (qui est seulement appelé au démarrage de l'application) pour obtenir le premier début de votre jeu pour avoir « reprendre » le comportement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top