2017-07-31 2 views
-1

dans la classe GameScreen j'ai écrit ce code pour un score:Comment puis-je utiliser des variables à travers différentes classes?

if (Gdx.input.justTouched()&& executed==true) { 
    MyGdxGame.camera.unproject(touchPoint.set(Gdx.input.getX(), Gdx.input.getY(), 0)); 
    for (int i=0;i<4;i++) { 
    if (sprite[zahl[i]].getBoundingRectangle().contains(touchPoint.x, touchPoint.y) && zahl[4] == zahl[i]) { 
     int scoreValue = Integer.parseInt(score); 
     scoreValue++; 
     score = String.valueOf(scoreValue); 
     executed= false; 
    } 
    if (sprite[zahl[i]].getBoundingRectangle().contains(touchPoint.x, touchPoint.y) && zahl[4] != zahl[i]){ 
     this.dispose(); 
     game.setScreen(new GameOverScreen(game)); 
     return; 
    } 
    } 
} 

Le deuxième if fait référence à la classe GameOverScreen. Donc, si un utilisateur perd la partie, le GameOverScreen sera affiché. Maintenant, je veux montrer le score atteint sur le GameOverScreen. Par conséquent, je dois utiliser la variable variable score de la classe GameScreen dans la classe GameOverScreen.

Ma question est: Comment puis-je utiliser des variables à travers différentes classes?

+0

Vous devez poser une question précise, et non un large « comment puis-je faire? ». Je vous suggère fortement de lire [Comment poser une bonne question?] (Https://stackoverflow.com/help/how-to-ask), puis de revenir et de modifier votre question pour tenir compte des suggestions qui s'y trouvent. – DaveyDaveDave

+1

J'ai édité ma question. J'espère pouvoir maintenant prendre en compte les suggestions. – user8340536

+0

Tout simplement la question est: Comment passer des variables d'un écran à un autre. –

Répondre

-2

Vous pouvez enregistrer la variable sur les préférences partagées Android. Voir l'exemple here

+1

Merci! C'est ce que je cherchais. – user8340536

+0

cela va résoudre votre problème, mais ce n'est pas un moyen professionnel. Aller avec la réponse de Kuffs. L'utilisation de la préférence partagée entraînera une augmentation de la mémoire et de la durée de lecture/écriture des fichiers. –

1

Vous pouvez créer un constructeur qui prend en compte le score comme paramètre dans votre GameOverScreen.

par exemple:

game.setScreen(new GameOverScreen(game, TheScore)); 
+0

réponse exacte ... –