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

AWT/Swing Java Discussion :

GridBagLayout + Paint


Sujet :

AWT/Swing Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 121
    Par défaut GridBagLayout + Paint
    Bonjour tout le monde,

    je suis sur un projet de jeu de voitures en temps réel.
    Mon problème est d'afficher :
    - un menu avec une grille (des JButton, des JLabel...)
    - un fond au jeu et un fond au menu
    - afficher des voitures qui laissent les traces de leurs passages.

    J'ai commencé par tout faire avec la méthode paint. Mais paint + grid ça marche pas.

    On m'a conseillé de faire une classe extends JPanel contenant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	public void paintComponent (Graphics gg)
      { 
        Graphics2D g=(Graphics2D)gg;
        super.paintComponent( g );
    Ca me permet d'afficher une grille et le fond du jeu et du menu.

    Problème :
    Les images de fond sont actualisées à chaque passage de la méthode paintComponent ce qui fait que la trace des voitures est enlevée à chaque foi.

    Y aurait-il donc un moyen d'avoir une Grid + des fonds sans que les fonds soient actualisés ?

    (J'ai essayé de ne mettre l'affichage du fond qu'au 1er passage de la méthode paintComponent mais alors il disparait lorsque la méthode est appelée la 2eme foi.
    Comme le jeu est en temps réel ça disparait tout de suite quasiment.)

    Merci d'avance

  2. #2
    Membre Expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Par défaut
    L'idéal c'est quand même de stoquer les "traces de voiture" et les redessiner à chaque fois.
    Profiter d'une "absence de repaint" est une mauvaise idée car peu donner des comportements bizarres.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 121
    Par défaut
    Erf mais le jeu se jout avec 4 voiture et il doit être jouable plus tard en réseau...

    Il n'y aura pas de lag si à chaque foit qu'on actualise on doit retester toute la grille et redessiner toutes les traces ?

  4. #4
    Membre Expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Par défaut
    Dans la plupart des jeux on voit les traces et elles disparaissent au fûr et à mesure.
    Tu considères par exemple que tu conserves 3cm de trace en mémoire et que le reste s'estompe pour disparaitre (penser à la transition par transparence par exemple).
    Par ailleurs les traces vont être conservées par le "client" et pas envoyées aux autres (rien ne sert d'envoyer la position des traces aux autres clients alors qu'ils reçoivent la position de la voiture et qu'ils sont pas conséquent capables de déterminer eux-mêmes les traces). Donc pas de perte de perf du côté partage de données.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 121
    Par défaut
    Ok merci je vois le genre pour le réseau c'est vrai que pas besoin d'envoyer toute la grille.

    Par contre le but du jeu est de ne pas repasser sur les traces :p donc justement je ne peux pas les faire s'estomper.
    Mais je vais tester, si ça marche là ça devrais pas poser beaucoup plus de problème en réseau.

  6. #6
    Membre Expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Par défaut
    Citation Envoyé par SAKDOSS
    Par contre le but du jeu est de ne pas repasser sur les traces :p donc justement je ne peux pas les faire s'estomper.
    LoL ! Ben ça je pouvais pas deviner !

  7. #7
    Membre émérite
    Avatar de bbclone
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 537
    Par défaut
    pourquoi ya GridBagLayout dans le titre?

Discussions similaires

  1. [JPanel] paint, paintComponent et repaint ?
    Par Pill_S dans le forum Composants
    Réponses: 8
    Dernier message: 08/02/2013, 17h38
  2. [paint] Méthode déclaré en static
    Par Bugmaster dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 23/08/2004, 15h51
  3. Réponses: 7
    Dernier message: 03/08/2004, 16h33
  4. [Paint][Color] determiner la couleur
    Par itsmii dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 27/05/2004, 13h15
  5. [TP]Paint en Pascal
    Par Giovanny Temgoua dans le forum Turbo Pascal
    Réponses: 17
    Dernier message: 03/12/2003, 22h35

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