Плохо работает SDL_Event на нескольких окнах

105
06 марта 2022, 22:40

Когда я обрабатываю несколько окон SDL2, то на них не работает кнопка выхода. Использую:

SDL_Event e;
                    //...
SDL_CreateWindowAndRenderer(SCREEN_WIDTH,SCREEN_HEIGHT,SDL_WINDOW_BORDERLESS,&win1,&ren1);
                        SDL_CreateWindowAndRenderer(SCREEN_WIDTH,SCREEN_HEIGHT,SDL_WINDOW_BORDERLESS,&win2,&ren2);
                        SDL_CreateWindowAndRenderer(SCREEN_WIDTH,SCREEN_WIDTH,SDL_WINDOW_BORDERLESS,&ball,&renB);
                        SDL_CreateWindowAndRenderer(SCREEN_WIDTH,SCREEN_WIDTH,SDL_WINDOW_BORDERLESS,&ex,&renE);
                        SDL_CreateWindowAndRenderer(SCREEN_WIDTH*3,SCREEN_WIDTH*2,SDL_WINDOW_BORDERLESS,&score,&renC);
                    //...
                    bool run=0;
                    while(run){
                        SDL_PollEvent(&e);
                        if(e.type==SDL_QUIT)run=0;
                    }

Подскажите пожалуйста, как обрабатывать событие выхода на нескольких окнах

Answer 1

Открываем мануал:

An SDL_QUIT event is generated when the user clicks on the close button of the last existing window.

Это не баг, а фича.

Вам нужен SDL_WINDOWEVENT с .window.event ==SDL_WINDOWEVENT_CLOSE.

READ ALSO
undefined reference to wxGrid/wxPGProperty

undefined reference to wxGrid/wxPGProperty

Работаю над проектом Cmake с использование библиотеки wxWidgets версии 30

84
Передача массива в функцию используя ссылку

Передача массива в функцию используя ссылку

Есть массив, состоящий из 3-х элементовНужно передать массив в функцию(которая посчитает сумму элементов) тремя разными способами

99
как передать класс как массив?

как передать класс как массив?

Я использую для программирования в opengl библиотеку glmЯ смотрел в glm и так и не понял как это делается

70
заполнение массива в зависимости от введённого типа данных

заполнение массива в зависимости от введённого типа данных

Пользователь должен вводить данные с клавиатуры, а программа должна их заносить в массив в зависимости от типа введённых данных (int, double, char)Как...

164