IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java ME Discussion :

[debutant]afficher le score en haut de l'ecran


Sujet :

Java ME

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 372
    Par défaut [debutant]afficher le score en haut de l'ecran
    Bonjour à tous.....

    Voilà, je m'en sors à peu près en java alors j'ai voulu me mettre au J2ME.....
    Après avoir fait les tuto genre "HelloWorld" et un tuto sur les collisions trouvé sur le site d'IBM, j'essaye de faire mon propre jeu...

    J'ai donc réussi à faire un bonhome qui marche en bas de l'écran, et des images qui tombent d'en haut de l'écran et que mon bonhomme doit ramasser.....

    Ca ca marche nickel

    Mais mon problème vient du fait que j'essaye de mettre le score en haut de l'écran pour que le gars voie combien il a ramassé d'images.... mais j'y arrive pas.

    L'architecture de mon prgm est celle ci :
    J'ai 4 classes :
    - Collisions extends MIDlet implements CommandListener
    pour lancer la MIDlet
    - CollisionCanvas extends GameCanvas implements Runnable
    classe ou je gere les evenements
    - ManSprite extends Sprite
    classe pour le bonhomme
    - public class AnimatedSprite extends Sprite
    classe pour l'image qui tombe dans l'écran(mon image est annimée).

    Voila.
    J'essaye de mettre un textField avec le score mais ca marche pas.....
    Si quelqu'un pouvait m'aider ce serait sypa

    merci d'avance

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 372
    Par défaut Solution
    J'ai trouvé comment faire... Donc si jamais quelqu'un qui a le même problème que moi lit ce post, cela l'aidera peut-être....

    Il faut que la fenêtre de jeu soit décalée du haut pour permettre de libérer de l'espace pour l'affichage du score en haut :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    layManager.paint(g, 0, 17);
    avec g l'objet de type Graphics, 0 le décalage en x, et 17 le décalage en y vers le bas.

    Ensuite il suffit de créer une méthode displayScore(Graphics g) qui est appelée dans la boucle while de la méthode run() (moi je l'ai appelée dans ma méthode drawDisplay(Graphics g) -elle même appelée dans la boucle while de run()-)
    Le code de cette méthode est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    /*--------------------------------------------------
      * Show the left time if less than 6 seconds left 
      *-------------------------------------------------*/
      private void showTimeLeftScoreAndLifes(Graphics g) 
      {
    // clock = chrono du temps restant
        // what does the clock say
        int timeLeft = clock.getTimeLeft();
        
        // if less than 6 seconds left
        // flicker time with red and black
        if(timeLeft < 6) {
    	if((timeLeft % 2) == 0)
    	  g.setColor(0xff0000);
    	else
    	  g.setColor(0x000000);
    
            // draw the time left string
            g.drawString("Time Left: " + timeLeft + " seconds", 0, 0, 0);
        }
    
    // lifes = nb de vies restantes au joueur
        g.setColor(0xabc00e);
        g.drawString("Lifes : "+lifes, canvas_width/2, 0, 0);
    
    //affichage du score en haut à droite
        g.setColor(0x000000);
        g.drawString(score, canvas_width*4/5, 0, 0);
    
        // reset the color
        g.setColor(0x000000);
    
      }
    en fait il suffit d'utiliser la methode drawString(String str, int x, int y, int anchor) sur un objet de type Graphics

    Voila....

    J'espère que mon explication est assez claire...

    Anne

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [debutant] Afficher une image
    Par HopeLeaves dans le forum 2D
    Réponses: 16
    Dernier message: 14/11/2005, 00h29
  2. Réponses: 2
    Dernier message: 14/10/2005, 12h14
  3. [D7][Debutant]Afficher un fichier 3ds chargé
    Par [Silk] dans le forum OpenGL
    Réponses: 14
    Dernier message: 15/07/2005, 10h36
  4. [DEBUTANT] affiche une page web en plein écran
    Par mamouna dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 02/06/2005, 11h43
  5. [débutant]Affiché un message dans l'émulateur.
    Par rvfranck dans le forum Java ME
    Réponses: 3
    Dernier message: 02/04/2005, 15h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo