Adapt color and player's speed
This commit is contained in:
parent
d35ca4f674
commit
b5c7662bfe
1 changed files with 10 additions and 19 deletions
27
window.c
27
window.c
|
@ -93,11 +93,9 @@ int main(int argc, char ** argv) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!\brief init de nos données, spécialement les trois surfaces
|
/*!\brief init de nos données, spécialement le plateau */
|
||||||
* utilisées dans ce code */
|
|
||||||
void init(void) {
|
void init(void) {
|
||||||
GLuint id;
|
GLuint id;
|
||||||
vec4 r = {1, 0, 0, 1}, g = {0, 1, 0, 1}, b = {0, 0, 1, 1};
|
|
||||||
/* création d'un screen GL4Dummies (texture dans laquelle nous
|
/* création d'un screen GL4Dummies (texture dans laquelle nous
|
||||||
* pouvons dessiner) aux dimensions de la fenêtre. IMPORTANT de
|
* pouvons dessiner) aux dimensions de la fenêtre. IMPORTANT de
|
||||||
* créer le screen avant d'utiliser les fonctions liées au
|
* créer le screen avant d'utiliser les fonctions liées au
|
||||||
|
@ -105,14 +103,11 @@ void init(void) {
|
||||||
gl4dpInitScreen();
|
gl4dpInitScreen();
|
||||||
|
|
||||||
/* Pour forcer la désactivation de la synchronisation verticale */
|
/* Pour forcer la désactivation de la synchronisation verticale */
|
||||||
SDL_GL_SetSwapInterval(0);
|
// SDL_GL_SetSwapInterval(0);
|
||||||
|
|
||||||
/* on créé le cube */
|
/* on créé le cube */
|
||||||
_cube = mk_cube(); /* ça fait 2x6 triangles */
|
_cube = mk_cube(); /* ça fait 2x6 triangles */
|
||||||
|
|
||||||
/* on change la couleur */
|
|
||||||
_cube->dcolor = b;
|
|
||||||
|
|
||||||
/* on rajoute la texture */
|
/* on rajoute la texture */
|
||||||
id = get_texture_from_BMP("images/tex.bmp");
|
id = get_texture_from_BMP("images/tex.bmp");
|
||||||
set_texture_id(_cube, id);
|
set_texture_id(_cube, id);
|
||||||
|
@ -140,23 +135,19 @@ void idle(void) {
|
||||||
t0 = t;
|
t0 = t;
|
||||||
|
|
||||||
if(_vkeyboard[VK_RIGHT])
|
if(_vkeyboard[VK_RIGHT])
|
||||||
_hero.x += 2.0f * dt;
|
_hero.x += 10.f * dt;
|
||||||
if(_vkeyboard[VK_UP])
|
if(_vkeyboard[VK_UP])
|
||||||
_hero.z -= 2.0f * dt;
|
_hero.z -= 10.f * dt;
|
||||||
if(_vkeyboard[VK_LEFT])
|
if(_vkeyboard[VK_LEFT])
|
||||||
_hero.x -= 2.0f * dt;
|
_hero.x -= 10.f * dt;
|
||||||
if(_vkeyboard[VK_DOWN])
|
if(_vkeyboard[VK_DOWN])
|
||||||
_hero.z += 2.0f * dt;
|
_hero.z += 10.f * dt;
|
||||||
|
|
||||||
int li, col;
|
|
||||||
col = (int)((_hero.x + _cubeSize * _grilleW /2) / _cubeSize);
|
|
||||||
li = (int)((_hero.z + _cubeSize * _grilleH /2) / _cubeSize);
|
|
||||||
printf("col = %d, li = %d\n", col, li);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!\brief la fonction appelée à chaque display. */
|
/*!\brief la fonction appelée à chaque display. */
|
||||||
void draw(void) {
|
void draw(void) {
|
||||||
vec4 r = {1, 0, 0, 1}, b = {0, 0, 1, 1};
|
vec4 couleurPlateau = {0.20, 0.20, 0.20, 1}, g = {0, 1, 0, 1}, b = {0, 0, 1, 1};
|
||||||
|
|
||||||
/* on va récupérer le delta-temps */
|
/* on va récupérer le delta-temps */
|
||||||
static double t0 = 0.0; // le temps à la frame précédente
|
static double t0 = 0.0; // le temps à la frame précédente
|
||||||
|
@ -188,7 +179,7 @@ void draw(void) {
|
||||||
float cZ = -_cubeSize * _grilleH / 2.0f;
|
float cZ = -_cubeSize * _grilleH / 2.0f;
|
||||||
|
|
||||||
/* on change la couleur */
|
/* on change la couleur */
|
||||||
_cube->dcolor = b;
|
_cube->dcolor = couleurPlateau;
|
||||||
|
|
||||||
/* pour toutes les cases de la grille, afficher un cube quand il y a
|
/* pour toutes les cases de la grille, afficher un cube quand il y a
|
||||||
* un 1 dans la grille */
|
* un 1 dans la grille */
|
||||||
|
@ -206,7 +197,7 @@ void draw(void) {
|
||||||
|
|
||||||
/* on dessine le perso _hero */
|
/* on dessine le perso _hero */
|
||||||
/* on change la couleur */
|
/* on change la couleur */
|
||||||
_cube->dcolor = r;
|
_cube->dcolor = g;
|
||||||
memcpy(nmv, model_view_matrix, sizeof nmv);
|
memcpy(nmv, model_view_matrix, sizeof nmv);
|
||||||
translate(nmv, _hero.x, _hero.y, _hero.z);
|
translate(nmv, _hero.x, _hero.y, _hero.z);
|
||||||
scale(nmv, _cubeSize / 2.0f, _cubeSize / 2.0f, _cubeSize / 2.0f);
|
scale(nmv, _cubeSize / 2.0f, _cubeSize / 2.0f, _cubeSize / 2.0f);
|
||||||
|
|
Reference in a new issue