Étape 10 : La Build : ajout de boutons, la gestion des vues
Première nous allons jeter un oeil à l’ajout de boutons dans notre application avec de la terre. Dans ma fonction loadButtons(), j’ai chargé le PNG pour toutes les images que j’utiliserai et l’a appelé puis avant la boucle principale.
(1) j’ai déclaré unique GLuint variables (minusX, plusX..) pour chaque bouton individuel dans la scène.
(2) donner le chemin d’accès à vos textures
Deuxièmement, pour afficher ces textures, j’ai eux lié à GL_QUADS et affiché leur face avant. Cela donne la souplesse nécessaire pour animer.
J’ai fait dans la méthode DrawSceneD() parce que vous vous souvenez, c’était la grande fenêtre sur la gauche de l’application.
(1) tout d’abord nous utilisons glPushMatrix() et les fonctions respectives glPopMatrix() pour chaque face individuelle de la GL_QUAD .
puis, utilisez glTranslate (x, y, z) pour le déplacer vers la position souhaitée dans notre fenêtre.
(2) nous utilisons la variable que nous permet de définir la texture de chaque bouton dans la scène.
(3) puis nous faisons le visage réel de QUAD. Nous utilisons glTexCoord2d() pour spécifier les coordonnées UV pour chaque sommet de la face. Fondamentalement, dites openGL comment appliquer notre texture sur la face GL_QUAD , veulent savoir si la texture streached, répété, etc..
J’ai eu à répéter le processus pour chaque bouton, comme vous pouvez le voir d’après les commentaires, j’ai divisé le code dans les boutons de chaque segment est responsable pour faciliter le débogage.
Maintenant examinons les trois autres méthodes DrawScene() que nous avons définies plus haut :
(1) les méthodes DrawSceneC() et DrawSceneA() sont responsables de l’avant et à la vue de côté de la scène.
glTranslatef (0, 0, - 10.0f); ici se déplace l’objet un peu loin de la fenêtre d’affichage pour incpection facile.
drawCubes() est une fonction particulière, que je discuterai dans l’étape suivante.