2012-11-11 4 views
1

Je m'exerce à créer un jeu pour Android, en utilisant libgdx dans Eclipse. Dans mon premier écran, j'ajoute un TextButton et un Label à ma scène. Lorsque je lance l'application de bureau, la scène est affichée avec l'étiquette et le bouton. Toutefois, lorsque je lance l'application Android sur mon téléphone (Android 2.2) ou sur un émulateur (Andorid 2.2 et 4.03), rien ne s'affiche uniquement sur un écran vide. Il n'y a pas d'erreurs que je peux voir dans le logcat ou la console. Le logcat affiche une copie "Erreur d'ouverture du tampon d'image errno = 13 (Permission refusée)", mais je ne pense pas que ce soit la cause.Le jeu Android n'affiche pas scène scene2d sur le téléphone

J'ai vérifié mon chemin de compilation java et tout semble bien. Après googling partout c'est le seul poste similaire que j'ai trouvé: libgdx game not working in android phones. Sur la réponse la plus votée, l'utilisateur 'nEx.Software' commente "En ne fonctionnant pas, vous voulez simplement afficher un écran vide? Parce que le démarreur Desktop crée une nouvelle instance de ScreenTest(), alors que le démarreur Android crée une nouvelle instance de ScreenGame(). " Je pense que cela pourrait résoudre mon problème mais je ne comprends pas complètement son commentaire.

Voici le code pour mon android classe de départ:

public class MainActivity extends AndroidApplication { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration(); 
     cfg.useGL20 = true; 
     cfg.useAccelerometer = false; 
     cfg.useCompass = false; 

     initialize(new FirstGame(), cfg); 
    } 
} 

Modifier

est Ci-dessous le code de mes jeux de classe Main.java:

public class FirstGame extends Game { 

    @Override 
    public void create() { 
     this.setScreen(new MainMenu(this)); 
    } 
     @Override 
    public void dispose() { 
    } 

    @Override 
    public void resize(int width, int height) { 
    } 

    @Override 
    public void pause() { 
    } 

    @Override 
    public void resume() { 
    } 
} 

Toute aide être grandement apprécié.

MISE À JOUR

je me suis dit que ce déployait sur mon téléphone, mais la scène était hors de l'écran, merci quand même

+0

Comment chargez-vous vos actifs? Sont-ils compatibles avec l'écran sur lequel vous affichez? Essayez également de définir le débogage dans scene2d (voir http://code.google.com/p/libgdx/wiki/scene2dui). Avez-vous des boîtes autour où vos éléments devraient être? –

+0

Ouais merci :), figuré sur ma scène était en train de charger hors de l'écran. Bravo si mec. – SEMJ

Répondre

0

Pouvez-vous envoyer une copie de votre départ Android? De plus, un problème récent avec l'Eclipse ADT signifie que parfois les projets ne sont plus synchronisés. Essayez de nettoyer tous les projets.

Projets ->propre -> Sélectionner tous les projets à faire avec le jeu -> ok

Aussi j'ai pris l'utilisation d'Eclipse, est ce le cas?

+0

Désolé de ne pas spécifier, oui J'utilise Eclipse et j'ai essayé le nettoyage de projet, généralement avant de lancer sur le téléphone, par Android Starter voulez-vous dire le Main.java de mon projet Android de jeux? merci – SEMJ

+0

Ouais. Le fichier que vous lancez pour lancer l'application votre téléphone (que je vois est maintenant inclus dans votre OP, merci) et peut-être même une copie de la classe 'FirstGame()' serait utile – LiamJPeters

+0

J'ai modifié dans la classe Main.java de FirstGame , ceci définit simplement l'écran à une classe MainMenu qui étend la classe AbstractScreen que j'ai faite (qui implémente Screen), cette classe MainMenu utilise l'étape scene2d pour addActors, ils s'affichent bien sur le bureau, mais ils ne sont pas visibles sur mon téléphone andoird emulator :( – SEMJ

Questions connexes