这是我的 C++ 文件:
#include <iostream>
#include "window.h"
#include <SDL2/SDL.h>
int main(int argc, char* argv[]) {
if (SDL_Init(SDL_INIT_EVERYTHING) < 0) {
std::cout << "Something went wrong" << std::endl;
}
else {
SDL_CreateWindow("Neptune's Limit", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 1024, 768, SDL_WINDOW_OPENGL);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
当我运行它时,它会闪烁半秒钟,然后立即关闭。我看过有关此问题的其他帖子,但他们的答案是关于SDL_EVENT. 我的程序中没有任何地方。
可能出什么问题了?
创建SDL窗口后,使用while循环来维护SDL窗口。SDL我通过本教程学习基本功能
简单的例子
#include <iostream>
#include <SDL2/SDL.h>
int main(int argc, char* argv[]) {
if (SDL_Init(SDL_INIT_EVERYTHING) < 0) {
std::cout << "Something went wrong" << std::endl;
} else {
SDL_CreateWindow("Neptune's Limit", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 1024, 768, SDL_WINDOW_OPENGL);
while( true ) {
// SDL RUNNING
// Poll Event Code Maybe here!
}
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
也许这段代码不会退出,因为没有exit-SDL代码。
对于退出程序,添加SDL_Event:
SDL POLL EVENT EX)
SDL_Event e;
while(true) { // SDL loop
while( SDL_PollEvent( &event ) != 0 ) {
if( event.type == SDL_QUIT ) {
// Ctrl + C in console !
}
} // end of handling event.
}
Run Code Online (Sandbox Code Playgroud)
希望这对您有帮助。