Мерцание экрана с помощью glutBitmapCharacter ()? - PullRequest
0 голосов
/ 11 декабря 2019

Я пытаюсь сделать игру, используя OpenGL. Моя игра работает хорошо, но я хочу показать счет. Мне удалось отобразить его с помощью glutBitmapCharacter, но экран начал мигать .

void drawBitmapText(char *string) 
{  
char *c;
glWindowPos3f(10,1000,0);

for (c=string; *c != '\0'; c++) 
{
    glutBitmapCharacter(GLUT_BITMAP_TIMES_ROMAN_24, *c);

}
//glutPostRedisplay();

}

void AffichageScore(int scoreAafficher){ 
    glClear(GL_COLOR_BUFFER_BIT); 

    std::string scoreSTR = std::to_string(scoreAafficher);
    scoreSTR = "Score : "+scoreSTR;
    int len = scoreSTR.length();
    char scoreArray[len+1];
    std::strcpy(scoreArray, scoreSTR.c_str()); 

    drawBitmapText(scoreArray);
    //glutSwapBuffers();

    //glutPostRedisplay();

}


static void end(){

}



static void timer_callback(int)
{
move_trees();
move_floor();
score += 1;
printf("Score : %d \n",score);  




//demande de rappel de cette fonction dans 25ms
glutTimerFunc(25, timer_callback, 0);

//vérifie la présence de collisions toutes les 25ms
bool verif_col=collisions();
if (verif_col==true){
    int scoreFinal = score;
    fin = true;        
    //AffichageScore(scoreFinal);

    }


glutPostRedisplay();


//reactualisation de l'affichage
glutSwapBuffers();
}
...