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 :

Quel composant utiliser pour un jeu de cartes?


Sujet :

AWT/Swing Java

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2002
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Quel composant utiliser pour un jeu de cartes?
    Bonjour,
    Je travaille actuellement sur un projet de jeu de cartes (de type pokemon, etc), et je me demande quel serait le meilleur composant à utiliser pour afficher ces dernières sur le plateau de jeu. Les cartes sont représentées sous la forme d'un simple carré contenant du texte (caractéristiques de la carte...).

    L'objectif est de pouvoir déposer les cartes sur le plateau de jeu, et de permettre à l'utilisateur de les déplacer comme il le souhaite sur ce plateau à l'aide de la souris.

    Actuellement, pour les cartes en main (position fixe), j'utilise des JPanels. Je me demande maintenant comment faire pour placer les cartes sur le plateau de jeu, et faire en sorte que l'utilisateur puisse déplacer les cartes sur le plateau de jeu, comme il le désire.
    1) Quelle classe est-ce que je dois utiliser pour les cartes? Est-ce que cela peut être mis en place avec des JPanels? (ie est-ce qu'on peut déplacer des JPanels à la souris?)
    2) Quelle classe utiliser pour le conteneur? (le plateau de jeu, qui accueille les cartes) Un autre JPanel? (layour null?) Autre chose?

    Merci d'avance...
    ++
    SW

  2. #2
    Membre confirmé Avatar de miloux32
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    545
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 545
    Points : 565
    Points
    565
    Par défaut
    et si tu creais tout simplement une classe Carte ?
    ( avec ses propres méthodes de déplacements, la méthode pour détecter si elle est cliquée etc ...)
    Bref en faisant de l'objet quoi ...

  3. #3
    Candidat au Club
    Inscrit en
    Juin 2002
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Bien sûr que j'utilise ma propre classe, mais quand on fait de l'objet, on peut utiliser de l'héritage... Quand je dis dans mon premier post "Actuellement, pour les cartes en main (position fixe), j'utilise des JPanels", en fait je n'utilise pas directement des JPanels, j'utilise ma propre classe qui hérite de JPanel, et qui fait ce que je veux qu'elle fasse... Ca n'a rien à voir avec ma question. Ma question était simplement de savoir s'il existe un moyen simple de faire ce que je veux faire avec les composants Swing.

    Par exemple, je pourrais facilement mettre en place un JDesktopPane, avec des JInternalFrame, et je pourrai les déplacer sans problème à l'intérieur du JDesktopPane, mais au niveau graphique, ça ne convient pas (à moins de pouvoir complètement modifier l'apparence des JInternalFrame, ou bien de définir une nouvelle classe qui se comporte comme elles mais qui a l'apparence que je souhaite).

    Au final je suppose que je vais utiliser un MouseMotionListener, mais si quelqu'un a une meilleure idée...

  4. #4
    Membre averti Avatar de Amine_sas
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 245
    Points : 307
    Points
    307
    Par défaut
    Salut,
    Pourquoi ne pas utiliser l'API de dessin 2D et afficher les cartes sur un seul JPanel. Deux solutions sont envisageables:
    - Soit la carte sera dessinée entièrement avec les primitives de dessin et de ce fait Carte peut être implémentée comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    classe Carte {
     
        .....
       public void draw(Component  comp) { /* le JPanel est passé comme paramètre*/
     
      Graphics2D g2D  = (Graphics2D)  comp.getGraphics();
     
      // Instructions de dessin
         ....
    }
    }
    - Ou bien (et meilleure solution que la première) Carte encapsulera une image qui sera dessinée avec une seule instruction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public void draw(Component  comp) { /* le JPanel est passé comme paramètre*/
     
      Graphics2D g2D  = (Graphics2D)  comp.getGraphics();
     
      g2d.drawImage(....)
    }
    }

  5. #5
    Membre confirmé Avatar de miloux32
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    545
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 545
    Points : 565
    Points
    565
    Par défaut
    C'est un peu à ca que je pensais (et que j'ai totalement mal exprimé mea culpa)

  6. #6
    Candidat au Club
    Inscrit en
    Juin 2002
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci, je vais me pencher là-dessus. Je dois dire que je n'ai jamais utilisé cette API, donc cela sera une expérience enrichissante

    Bonne soirée!
    ++
    SW

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/10/2012, 11h58
  2. Réponses: 1
    Dernier message: 21/08/2009, 14h29
  3. Quel composant utiliser pour afficher rapidement des lignes de texte?
    Par Rodrigue dans le forum Général Dotnet
    Réponses: 5
    Dernier message: 13/02/2008, 14h45
  4. Quels composants utiliser pour une application client/serveur (mySql) ?
    Par whitespirit dans le forum Bases de données
    Réponses: 20
    Dernier message: 30/01/2008, 05h46
  5. [Debutant(e)]Quel composant utiliser pour faire une grille
    Par elitost dans le forum Composants
    Réponses: 7
    Dernier message: 21/06/2004, 20h44

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