1

我有一个函数 glutKeyboardFunc(keyboard),其中键盘有:

void keyboard(unsigned char key, int x, int y){
    float alpha = 1.0;
    switch(key){
    case 'c':
        glClearColor(1,0,0,alpha);
        printf("success");
        break;
    }
}

这是功能的总结;它可以正常工作,但只有在发生其他一些操作后才能正常工作。例如,printf 语句在击键 'c' 时立即报告成功,但在我单击画布上的其他位置之前,背景颜色不会变为活动状态。我希望所有击键都能立即生效。

4

1 回答 1

2

您需要刷新屏幕:

void keyboard(unsigned char key, int x, int y){
    float alpha = 1.0;
    switch(key){
    case 'c':
        glClearColor(1,0,0,alpha);
        printf("success");
        glutPostRedisplay(); // trigger the screen redisplay
        break;
    }
}
于 2012-10-02T20:18:01.083 回答