SDL窗口不可单击(最小化和关闭按钮不起作用)

问题描述 投票:0回答:1

当SDL窗口打开时,我无法在窗口上单击任何内容,而我的光标是蓝色的加载光标。因此,当我尝试最小化窗口时,它什么也没做。帮助!

代码:

#include "SDL.h"

int main(int argc, char *argv[])  {
    SDL_Init(SDL_INIT_EVERYTHING);

    SDL_Window *window = SDL_CreateWindow("Title",
            SDL_WINDOWPOS_CENTERED,
            SDL_WINDOWPOS_CENTERED,
            640, 480,
            SDL_WINDOW_SHOWN);

    SDL_Renderer *renderer = SDL_CreateRenderer(window, -1, 0);

    SDL_SetRenderDrawColor(renderer, 0, 255, 0, 255);

    SDL_RenderClear(renderer);

    SDL_RenderPresent(renderer);

    SDL_Delay(3000);

    return 0;
}

我使用MinGW编译器,我的IDE是Eclipse,SDL的版本是2.0.12。

c++ sdl sdl-2
1个回答
0
投票

SDL_Delay阻塞主线程,直到返回为止。在Windows上,应用程序的主线程应处理并响应Windows消息以执行任何操作,否则将其标记为“不响应”。由于线程被阻塞,所以会发生这种情况。

SDL处理其事件系统中的事件,您应该通过调用SDL_PollEvent的事件循环来调用它。

© www.soinside.com 2019 - 2024. All rights reserved.