ここに問題があります。キーダウンイベントとキーアップイベントを検出するためのイベントループを作成しました。私が遭遇している問題は、キーが押されたままになっているときに、キーダウンイベントがキーダウンイベントとキーアップイベントを生成していることです。矢印キーを使用してオブジェクトを移動し、キーを離すと移動を停止します(keyup)。どんな助けでも助けになるでしょう。ありがとう。=)
ジャスティン
PSコードを投稿しますが、正しく表示されません。
print(" SDL_Event event;
SDL_EnableKeyRepeat(0,0);
while(SDL_PollEvent(&event)){
switch(event.type){
case SDL_QUIT:
done = true;
break;
case SDL_KEYDOWN:
switch(event.key.keysym.sym){
case SDLK_ESCAPE:
done = true;
break;
case SDLK_LEFT:
animate_x = -5;
cout << "left press\n";
break;
case SDLK_RIGHT:
animate_x = 5;
break;
case SDLK_UP:
animate_y = -5;
break;
case SDLK_DOWN:
animate_y = 5;
break;
default:
break;
}
break; -left out in original
case SDL_KEYUP:
switch(event.key.keysym.sym){
case SDLK_LEFT:
cout << "left up\n";
animate_x = 0;
break;
case SDLK_RIGHT:
animate_x = 0;
break;
case SDLK_UP:
animate_y = 0;
break;
case SDLK_DOWN:
animate_y = 0;
break;
default:
break;
}
break; -left out in original
}
}");
コードを投稿する方法を理解しようとしているときに、2つのケースでデフォルトが省略されていることに気付きました。これでコードが機能します。ケースを調べ、キューにあるものと一致するコードを実行し続けました。愚かな私。すべての助けをありがとう。=)