C++ 使用SDL的应用程序在任何按键上退出。它不应该是';但不是这样
我不知道如何使用SDL库正确处理按键 截至目前,我有以下代码:C++ 使用SDL的应用程序在任何按键上退出。它不应该是';但不是这样,c++,loops,keyboard,switch-statement,sdl,C++,Loops,Keyboard,Switch Statement,Sdl,我不知道如何使用SDL库正确处理按键 截至目前,我有以下代码: bool running = true; SDL_Event event; while (running) { while (SDL_PollEvent(&event)) { switch (event.type) { case SDL_KEYDOWN: switch (event.key.keysym.sym){
bool running = true;
SDL_Event event;
while (running) {
while (SDL_PollEvent(&event)) {
switch (event.type) {
case SDL_KEYDOWN:
switch (event.key.keysym.sym){
case SDLK_RIGHT:
buttons.setState(2);
SDL_UpdateWindowSurface(window);
case SDLK_LEFT:
buttons.setState(1);
SDL_UpdateWindowSurface(window);
case SDLK_INSERT:
if (buttons.getState() == 1){
buttons.setState(3);
SDL_UpdateWindowSurface(window);
SDL_Delay(50);
buttons.setState(1);
SDL_UpdateWindowSurface(window);
}
else{
if (buttons.getState() == 2){
buttons.setState(4);
SDL_UpdateWindowSurface(window);
SDL_Delay(50);
buttons.setState(2);
SDL_UpdateWindowSurface(window);
}
else{
break;
}
}
default:
running = true;
}
case SDL_QUIT:
running = false;
SDL_DestroyWindow(window);
SDL_Quit();
break;
}
}
}
有一个可绘制类,buttons是该类的一个实例。状态是我想画的不同帧。但是,我只想在按下向左或向右箭头键时绘制它们。到目前为止,只要按任何键,程序都将退出
我不知道该怎么办。案例SDL\u KEYDOWN:缺少break语句,这导致每次按键都会在
SDL\u退出
案例中执行代码。应该是
default:
running = true;
}
break; <--- inserted
case SDL_QUIT:
默认值:
运行=真;
}
中断 case-SDL\u KEYDOWN:
缺少break语句,这导致每次按键都会在SDL\u-QUIT
案例中执行代码。应该是
default:
running = true;
}
break; <--- inserted
case SDL_QUIT:
默认值:
运行=真;
}
中断 case-SDL\u KEYDOWN:
缺少break语句,这导致每次按键都会在SDL\u-QUIT
案例中执行代码。应该是
default:
running = true;
}
break; <--- inserted
case SDL_QUIT:
默认值:
运行=真;
}
中断 case-SDL\u KEYDOWN:
缺少break语句,这导致每次按键都会在SDL\u-QUIT
案例中执行代码。应该是
default:
running = true;
}
break; <--- inserted
case SDL_QUIT:
默认值:
运行=真;
}
中断 你忘了休息;在你写的每一份声明中。
您还可以添加以下内容:
案例SDLK_逃跑:你忘了休息;在你写的每一份声明中。
您还可以添加以下内容:
案例SDLK_逃跑:你忘了休息;在你写的每一份声明中。
您还可以添加以下内容:
案例SDLK_逃跑:你忘了休息;在你写的每一份声明中。
您还可以添加以下内容:
case SDLK_ESCAPE:所有案例都缺少break语句。使用if/else可以避免此问题。确实OP需要这样做,但是内部开关的相关中断语句以及所有情况都缺少中断语句。使用if/else可以避免此问题。确实OP需要这样做,但是内部开关的相关中断语句以及所有情况都缺少中断语句。使用if/else可以避免此问题。确实OP需要这样做,但是内部开关的相关中断语句以及所有情况都缺少中断语句。通过使用if/else可以避免此问题。实际上,OP也需要为内部开关提供相关的中断语句