// Définit le modèle pour affichage à l'écran void View::display(void) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Initialisation du buffer de couleur à la couleur de fond // Viewport contenant les informations sur la partie en cours viewportInfos(); if(model->getLifes() < 0) { model->stopGame(); gameOver(); } else { drawScore(); drawLifes(); } // Viewport contenant les contrôles souris (boutons) viewportControls(); drawMouseControls(); drawButton("Reset",100); drawButton("Close",150); drawButton("View", 200); // Viewport contenant le plateau de jeu glEnable(GL_DEPTH_TEST); initLights(); viewportWorld(); // Définit une viewport et ses caractéristiques de projection drawWorld(); drawPills(); drawPacMan(); drawGhosts(); glDisable(GL_LIGHT0); glDisable(GL_LIGHT1); glDisable(GL_LIGHT2); glDisable(GL_LIGHT3); glDisable(GL_LIGHTING); // nuit ! glDisable(GL_DEPTH_TEST); glutSwapBuffers(); // Car on travaille en mode "double buffer", cf. main.cpp }
void Hud::draw(int lifes) { glColor3f(1.0, 1.0, 1.0); glPushMatrix(); glTranslatef(0.3,0,0); drawDigit(cent); glTranslatef(2.1,0,0); drawDigit(dez); glTranslatef(2.4,0,0); drawDigit(uni); glTranslatef(15.5, 2.5, 0); glColor3f(1.0, 1.0, 0.0); //drawDigit(lifes); drawLifes(lifes); glPopMatrix(); }