Пример #1
0
// 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
}
Пример #2
0
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();
}