C ++で書いているゲームのキープレスを処理するために、glutフレームワークを使用しようとしています。特定のキーが押されたときに、新しい曲線の描画を開始したいので、新しい曲線を作成して曲線のコンテナーに追加します。ただし、onKeyboard を使用してデバッグすると、最初に押したときだけでなく、キーが押されたときにこの関数が何度も呼び出されることがわかります。したがって、キーが押されるたびに約 12 のカーブが作成されます。onKeyboard の私のコードは以下のとおりです。どんな助けでも大歓迎です!
void onKeyboard(unsigned char key,int x, int y) {
keysPressed[key] = true;
switch (key) {
case 'l':
curvesContainer.addCurve(new lCurve());
break;
case 'p':
curvesContainer.addCurve(new pCurve());
}
glutPostRedisplay();
}