加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – SDL窗口未显示

发布时间:2020-12-14 18:09:53 所属栏目:百科 来源:网络整理
导读:这是我的代码: #include iostream#include SDL2/SDL.hint main(int argc,const char * argv[]) {SDL_Init(SDL_INIT_VIDEO);SDL_Window *_window;_window = SDL_CreateWindow("Game Engine",SDL_WINDOWPOS_CENTERED,700,500,SDL_WINDOW_RESIZABLE);SDL_Delay
这是我的代码:

#include <iostream>
#include <SDL2/SDL.h>

int main(int argc,const char * argv[]) {

SDL_Init(SDL_INIT_VIDEO);

SDL_Window *_window;
_window = SDL_CreateWindow("Game Engine",SDL_WINDOWPOS_CENTERED,700,500,SDL_WINDOW_RESIZABLE);

SDL_Delay(20000);

SDL_DestroyWindow(_window);
SDL_Quit();

return 0;

}

我在Xcode工作.我已下载SDL2并将库导入项目构建阶段.我已经测试过SDL2是否正常工作.

问题是窗口永远不会出现.我只是得到一个“旋转mac轮”,然后程序在延迟后退出.我确保窗口没有隐藏在某处.

想法?

解决方法

你必须给系统一个运行事件循环的机会.

最简单的是自己轮询事件:

SDL_Event e;
bool quit = false;
while (!quit){
    while (SDL_PollEvent(&e)){
        if (e.type == SDL_QUIT){
            quit = true;
        }
        if (e.type == SDL_KEYDOWN){
            quit = true;
        }
        if (e.type == SDL_MOUSEBUTTONDOWN){
            quit = true;
        }
    }
}

而不是等待循环

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读