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 に答える