Jeux Libres
       
           

» Les Forums » Aide à propos de la création de jeux vidéo » [C++] Problème d'affichage


Aller à la page : 1.

[C++] Problème d'affichage
chev69



Grade : Membre accepté
Inscrit le: 29 Juin 2011, 14:09
Ecrit le: 11 Juillet 2011, 21:44             Message non corrigé

Bonsoir,
Je suis en train de faire un menu pour un jeu avec Qt, en faite je demande d'abord au joueurs si il veut jouer seul ou à 2.

- Si il répond 1 joueur j'affiche un menu pour qu'il choisisse le niveau de difficulté (affichage dans la même fenêtre).

-Si il choisit 2 joueurs j'ouvre une nouvelle fenêtre et ferme celle là.

Mon problème est que si il choisit 1 joueur le menu n'apparait pas mais si il choisit 2 joueurs tout marche bien.

voila le code de la fonction:
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
35
36
37
38
39
40
void MaFenetre::joueur()
{
   if (m_joueur1->isChecked())
   {

       m_niveau1 = new QRadioButton("Facile", this);
       m_niveau1->setToolTip("De 1 à 100");
       m_niveau1->setChecked(true);

       m_niveau2 = new QRadioButton("Moyen", this);         //Les niveaux
       m_niveau2->setToolTip("De 1 à 1000");

       m_niveau3 = new QRadioButton("Difficile", this);
       m_niveau3->setToolTip("De 1 à 10 000");

       m_groupe2 = new QGroupBox("Niveau de difficulté", this);

       m_layout2 = new QHBoxLayout;
       m_layout2->addWidget(m_niveau1);
       m_layout2->addWidget(m_niveau2);
       m_layout2->addWidget(m_niveau3);

       m_groupe2->setLayout(m_layout2);
       m_groupe2->move(100, 100);
       m_jouer = new QPushButton("Jouer", this);


   }
   else if (m_joueur2->isChecked())
   {
       Joueurs2 *jeu = new Joueurs2; // ouvre page pour jouer a 2 (Joueur2.cpp)
       jeu->show();
       this->close();
   }
   else
   {
       QLabel *messageErreur1 = new QLabel("Vous devez cocher au moins une case.", this);
       messageErreur1->move(50,50);
   }
}
  Profil
David



Grade : Maître
Inscrit le: 11 Mai 2005, 20:30
Ecrit le: 11 Juillet 2011, 23:29             Message non corrigé

La première partie de ta fonction n'est pas très belle. Essai de faire plutôt comme la deuxième : court, découpé, noms clairs. Je suis conscient que faire de l'IHM propre n'est pas évident.

Après une lecture attentive de ton programme, j?aurais tendance à dire qu'il est bon. Mais ça fait longtemps que je n'ai pas réutilisé Qt. J'ai perdu en aisance.

Essai de mettre ceci :
1
2
3
4
5
6
7
8
9
10
        m_groupe2 = new QGroupBox("Niveau de difficult", this);
 
       m_layout2 = new QHBoxLayout(this); // Ajout du this
       m_layout2->addWidget(m_niveau1);
       m_layout2->addWidget(m_niveau2);
       m_layout2->addWidget(m_niveau3);
 
       m_groupe2->setLayout(m_layout2);
       m_groupe2->move(100, 100);
       m_jouer = new QPushButton("Jouer", this);

Perso j?aurai fait ceci, mais sans être sur à 100%.
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
    {
 
       m_groupe2 = new QGroupBox("Niveau de difficult", this);
 
 
 
       m_niveau1 = new QRadioButton("Facile", this);
       m_niveau1->setText("De 1 100");
       m_niveau1->setChecked(true);
 
       m_niveau2 = new QRadioButton("Moyen", this);         //Les niveaux
       m_niveau2->setText("De 1 1000");
 
       m_niveau3 = new QRadioButton("Difficile", this);
       m_niveau3->setToolTip("De 1 10 000");
 
       m_jouer = new QPushButton("Jouer", this);
 
 
       m_layout2 = new QHBoxLayout(m_groupe2);
       m_layout2->addWidget(m_niveau1);
       m_layout2->addWidget(m_niveau2);
       m_layout2->addWidget(m_niveau3);
       m_layout2->addWidget(m_jouer);
 
       m_groupe2->setLayout(m_layout2);
       m_groupe2->move(100, 100);
 
       m_groupe2->show();
 
 
   }

Ce code pourra te donner des idées.

Si tu blocs, envoi moi ton projet et j'y jetterai un ?il. Ce soir je n'ai pas trop de temps.

________
Apprenez à créer votre propre FPS en C++ avec OpenGL. C'est pas dur ! :-)
  Profil
chev69



Grade : Membre accepté
Inscrit le: 29 Juin 2011, 14:09
Ecrit le: 12 Juillet 2011, 20:34             Message non corrigé

J'ai un problème avec le logiciel Qt au niveau de la compilation, tout marche bien est d'un seul coup il ne veux plus compilé et me sort cette erreur:

Exécution des étapes de compilation pour le projet jeu...
Configuration inchangée, étape QMake sautée.
Impossible de démarrer le processus "mingw32-make.exe"
Erreur à la compilation du projet mystere (cible : Desktop)
Lors de l'exécution de l'étape 'Make'


J'ai redémarré mon pc mais ça change rien. c'est déjà la 2eme fois que ça me me le fait, la première fois j'ai désinstallé Qt puis je l'ai re-téléchargé, ça a marché pour 5-6 compilation et hop une nouvelle fois cette erreur.

Quelqu'un aurai une solution ?
  Profil
 


Aller à la page : 1.


Hébergeur du site : David
Version PHP : 5.4.45-0+deb7u2
Uptime : 55 jours 18 heures 15 minutes
Espace libre : 1512 Mo
Dernière sauvegarde : 30/03/2020
Taille de la sauvegarde : 1113 Mo


5888820 pages ont été consultées sur le site !
Dont 2709 pages pendant les 24 dernières heures.

Page générée en 0.963 secondes


Nos sites préférés
- Création d'un jeu de plateforme de A à Z avec SDL
- Zelda ROTH : Jeux amateurs sur le thème de Zelda
- Zeste de Savoir : la connaissance pour tous et sans pépins
- YunoHost : s'héberger soi-même en toute simplicité
- Site de Fvirtman : recueil de projets et de codes en C et C++
- Par ici la sortie : le site des idées de sorties


  © 2005-2020 linor.fr - Toute reproduction totale ou partielle du contenu de ce site est strictement interdite.