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

2D Java Discussion :

Petit jeu en java


Sujet :

2D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 448
    Par défaut
    Citation Envoyé par saod
    Citation Envoyé par Seth77
    deplacement d un personnage sur l ecran avec des autres personnages qui se deplacent automatiquement
    Si c'est pour faire ce genre de jeux je ne pense pas qu'un layout sois conseillé !!! il vaut mieux dessiner toi meme tes bonhommes, tes formes, tes monstres, etc... avec la class Graphics ou Graphics2d ...
    ahh...justement comment on fait ?

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 909
    Billets dans le blog
    54
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Si c'est pour faire ce genre de jeux je ne pense pas qu'un layout sois conseillé !!! il vaut mieux dessiner toi meme tes bonhommes, tes formes, tes monstres, etc... avec la class Graphics ou Graphics2d ...
    Merci, merci, merci.... pour une fois ca m'a evite de hurler.

    Non qu'il soit impossible de faire ca uniquement avec des composants Swing, mais bon .... si jamais on doit animer le deplacement des pieces... et puis quel gachis au niveau performance.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ahh...justement comment on fait ?
    Regarde d'abord la demo la demo jfc/Java2Demo fournis avec le JDK ; ca te donnera un appercut des capacites de Java2D ainsi qu'un peu de code source pour voir comment ca marche.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  3. #3
    Membre éprouvé Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 448
    Par défaut
    Merci

    j ai essaye un truc....mettre une image et essaye de la deplacer a l aide du clavier ...
    j ai mis l affichage de l image dans paint ... mais comment reafficher l image ... si j appel paint il me fait une exception

  4. #4
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 909
    Billets dans le blog
    54
    Par défaut
    Tu appeles repaint() en reaction au deplacement de l'image.

    Ensuite ca serait mieux si on savait quelle exception (type, message) etait lancee...
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  5. #5
    Membre éprouvé Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 448
    Par défaut
    Merci ..j ai un petit prob... mon espace de jeu est dans un jpanel ... comment faire pour definir la taille de mon espace de jeu ???
    j ai essaye avec setsize mais cela ne marche pas ...

  6. #6
    Membre éprouvé Avatar de dr00w
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 116
    Par défaut
    J'ai déjà fait ça pour un tp dans un cours de programmation, malheureusement je n'ai plus le source. Ce que j'avais fait en gros c'était :

    Un JPanel tout bête qui sert de canvas pour dessiner qui est inséré dans un JFrame dont le contentPane est remplacé par le canvas. Tu dessines dans paintComponent() avec les outils de la classe Graphics (drawImage() etc). Il te faut 2 timers, un qui déplace les coordonnées des objets et l'autre qui appelle repaint(). Si tu veux que ça soit plus fluide il te faut un buffer dans lequel tu dessines hors-écran.

  7. #7
    Membre éprouvé Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 448
    Par défaut
    thx
    c , je pense, ce que j ai fais ..
    mais j arrive pas a definir la taille du jpanel en pixel .... et que le jframe s adapte automatiquement ...

  8. #8
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 909
    Billets dans le blog
    54
    Par défaut
    Pense a mettre des tailles fixes avec setPreferredSize() et setMinimumSize() et setMaximumSize() sur le panel; ensuite met un BorderLayout dans ta frame, ajoute le panel au centre et fait pack(). Eventuellement rend ta frame non-redimensionable.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  9. #9
    Membre éprouvé Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 448
    Par défaut
    Merci ca marche ...
    j ai un petit prob ... j ai ma classe qui represente la map du jeu et une classe pour les objets du jeu ... comment faire pour acceder a partir d une classe d un objet a une variable dans la map ... dans mon cas la taille de la map ?

  10. #10
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    En utilisant des accesseurs c'est à dire des méthodes qui ont pour but de renvoyer ou changer la valeur d'un attribut de ta classe

    Par exemple
    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
     
    public class machin {
     
      private int bidule;
     
      // accesseurs de type get -- renvoie la valeur de bidule
     
      public int getBidule(){
         return bidule;
      }
     
      // accesseurs de type set -- change la valeur de bidule
     
      public void setBidule(int bidule){
         this.bidule = bidule;
      }
    }

  11. #11
    Membre éprouvé Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 448
    Par défaut
    euh non pas vraiment ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    class truc{
      int bidulle;
      machin test = new test();
    }
    comment dans la class machin acceder a bidulle sans forcement connaitre le nom de l instance de truc ?

    ou alors comment definir des variables globales a l ensemble du projet ?

  12. #12
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Pour les variables globales, il faut utiliser des variables statiques.
    Dans ton cas, ce serait plus particulièrement un singleton pour le JPanel.
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  13. #13
    Membre éprouvé Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 448
    Par défaut
    je ne vois pas vraiment ... t aurais pas un exemple sous le coude ?

  14. #14
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Je suppose que dans ton jeu, tu n'as besoin que d'une seule fenetre, que j'appelle MainFrame :
    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
    public class MainFrame extends JFrame {
      private JPanel gamePanel;
     
      private MainFrame(...) { //constructeur classique
      ...
      }
     
      public Toto getToto() {...}
    ...
    // N.B le constructeur est privé. Il est impossible de
    // construire des objets MainFrames sauf dans cette classe
     
    // Maintenant le singleton :
      private static MainFrame singleton;
     
      public static MainFrame getMainFrame() {
        if(singleton == null)
          singleton = new MainFrame(...);
        return singleton;
      }
    }
    Il ne peut y avoir qu'un seul objet de la classe MainFrame dans ton programme, et tous les autres objets peuvent y accéder en faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MainFrame mf = MainFrame.getMainFrame();
    Toto t = MainFrame.getMainFrame().getToto();
    [EDIT]Bon, dans mon code, le singleton est la JFrame, mais tu peux faire ca avec le JPanel si tu préfères.[/EDIT]
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  15. #15
    Membre éprouvé Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 448
    Par défaut
    merci je vais essaye ....
    eh be c facile de faire des singleton en java !!!!

  16. #16
    BiM
    BiM est déconnecté
    Expert confirmé
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Par défaut
    En général on appele la méthode pour faire un singleton getInstance() pour des raisons d'harmonie.

    De plus la variable, ici appelée singleton doit être initialisée à null, c'est plus propre
    Pour le reste c'est très bien.

  17. #17
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Citation Envoyé par Seth77
    eh be c facile de faire des singleton en java !!!!
    C'est ironique ? Quand tu as compris le principe, ca va vite !

    Bimouxette : oui, c'est un peu baclé, mais le singleton est largement couvert de tutoriaux et d'exemples, alors je ne me suis vraiment pas cassé la tete.
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  18. #18
    BiM
    BiM est déconnecté
    Expert confirmé
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Par défaut
    Tu as bien raison

  19. #19
    Membre éprouvé Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 448
    Par défaut
    Citation Envoyé par xavlours
    Citation Envoyé par Seth77
    eh be c facile de faire des singleton en java !!!!
    C'est ironique ? Quand tu as compris le principe, ca va vite !

    Bimouxette : oui, c'est un peu baclé, mais le singleton est largement couvert de tutoriaux et d'exemples, alors je ne me suis vraiment pas cassé la tete.
    non c pas de l ironie ... j avais deja fais des singleton en C++ et c etait bien plus complique ... 8)

  20. #20
    Membre éprouvé Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 448
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    MainFrame mf = MainFrame.getMainFrame();
    Toto t = MainFrame.getMainFrame().getToto();
    n y a t il pas moyen de definir un pointeur vers le frame accessible partout au lieu de definir dans chaque classe un pointeur vers la frame ?

Discussions similaires

  1. Aide pour concevoir un petit jeu en C
    Par samy100 dans le forum Projets
    Réponses: 11
    Dernier message: 30/10/2019, 11h22
  2. Réponses: 0
    Dernier message: 22/03/2010, 09h41
  3. Petit jeu multijoueur en ligne (commençons simple lol)
    Par Archaoniro dans le forum Langage
    Réponses: 25
    Dernier message: 24/03/2006, 18h31
  4. Nombre aléatoire (petit jeu)
    Par niCo.nb dans le forum C
    Réponses: 7
    Dernier message: 14/10/2005, 19h55

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