当前位置:   iOS > 正文

SDL窗口不显示

c++,xcode,sdl,ios,windows,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间戳,在线开发工具,前端开发工具,开发人员工具,站长工具

这是我的代码:

#include 
#include 

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

SDL_Init(SDL_INIT_VIDEO);

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

SDL_Delay(20000);

SDL_DestroyWindow(_window);
SDL_Quit();

return 0;

}

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

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

想法?



1> Toad..:

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

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

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;
        }
    }
}

而不是等待循环


上面添加/说明:如果发现SDL_GetError()没有报告任何内容,并且SDL_UpdateWindowSurface()/ etc报告为0(无错误),则上述代码很有可能是可修复的,尤其是在OSX上。您可以在视频设置/初始化/初始绘图调用之后放置事件轮询循环。最初的SDL SDK示例曾经用于包含轮询,但在线教程通常会在处理过程中的较晚阶段(处理输入)包含此内容,这可能会造成混乱。
这次真是万分感谢!极大地帮助了我。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/iOS/detail/8551
推荐阅读
相关标签
  

闽ICP备14008679号