2016-09-17 125 views
-1
#include <iostream> 
#include <SDL2/sdl.h> 

int main(int argc, char * argv[]) { 
    // insert code here... 
    std::cout << "Hello, World!\n"; 
    SDL_Init(SDL_INIT_VIDEO); 
    SDL_Window *window = SDL_CreateWindow("Fen", 640, 480, 640, 480, SDL_WINDOW_SHOWN); 
    std::cout << SDL_GetError(); 
    SDL_Delay(3000); 
    return 0; 
} 

爲什麼我沒有打開窗口?令人奇怪的是.... 構建正常,但打開什麼? SDL不會打開窗口?

對於信息沒有窗戶,我使用的是Mac

回答

0

其實,已經創建你的窗口。您可以在OS X Dock中看到cmd應用程序圖標。

真正的問題,你不能得到一個積極的反饋是,這個窗口是空的,什麼都不顯示。以下代碼將填充白色。

SDL_Init(SDL_INIT_VIDEO); 
SDL_Window *window = SDL_CreateWindow("Fen", 640, 480, 640, 480, SDL_WINDOW_SHOWN); 

auto screenSurface = SDL_GetWindowSurface(window); 

//Fill the surface white 
SDL_FillRect(screenSurface, NULL, SDL_MapRGB(screenSurface->format, 0xFF, 0xFF, 0xFF)); 

//Update the surface 
SDL_UpdateWindowSurface(window); 

SDL_Delay(3000); 

//Destroy window 
SDL_DestroyWindow(window); 

//Quit SDL subsystems 
SDL_Quit();