这是我的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;
}
当我运行它时,它会闪烁半秒钟,然后立即关闭。我看过其他有关此问题的文章,但对它们的答案是关于SDL_EVENT
。我的程序中没有任何地方。
怎么了?
答案 0 :(得分:3)
创建SDL
窗口后,请使用while
循环来维护SDL
窗口。
我通过此tutorial
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;
}
也许此代码不会退出,因为没有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.
}
希望这对您有所帮助。