Jeux Libres

Envie de créer un jeu vidéo ?   Le site qui vous accompagne de A à Z.


» Les Forums » Création de jeux en C++ » Problème d'affichage


Aller à la page : 1.

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 Mail
David



Grade : Expert
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 Mail
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 Mail
 


Aller à la page : 1.


Hébergeur du site : 1and1.fr



Site de création de Jeux Vidéo
Apprenez à créer vos propres Jeux Video

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

Page générée en 0.369 secondes


Nos partenaires
- Otium Production : Aide aux débutants à créer leurs jeux
- Les bibliothèques de développement de jeux vidéo


  © 2005-2012 www.jeux-libres.com - Toute reproduction totale ou partielle du contenu de ce site est strictement interdite.