博客搬家自 http://zhouyuanchao.com/wordpress/archives/51
SDL簡介(wiki)
www.libsdl.orgSDL(Simple DirectMedia Layer)是一套開放源代碼的跨平臺多媒體開發庫,使用C語言寫成。SDL提供了數種控制圖像、聲音、輸出入的函數,讓開發者只要用相同或是相似的代碼就可以開發出跨多個平臺(Linux、Windows、Mac OS X等)的應用軟件。
目前SDL多用於開發遊戲、模擬器、媒體播放器等多媒體應用領域。
使用方法
#include <SDL.h>
int main(int argc, char* argv[])
{
SDL_Window* pWindow = 0;
SDL_Renderer* pRenderer = 0;
// initialize SDL
if (SDL_Init(SDL_INIT_EVERYTHING) >= 0)
{
// if succeeded create our window
pWindow = SDL_CreateWindow("testSDL",
SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,
640, 480,
SDL_WINDOW_SHOWN);
// if the window creation succeeded create our renderer
if (g_pWindow != 0)
{
pRenderer = SDL_CreateRenderer(g_pWindow, -1, 0);
}
}
else
return 1; // sdl could not initialize
// everything succeeded lets draw the window
bool bQuit = false;
while (true)
{
SDL_Event event;
if (SDL_PollEvent(&event))
{
switch (event.type)
{
case SDL_QUIT:
bQuit = true;
break;
}
}
if (bQuit)
break;
// set to black
// This function expects Red, Green, Blue and Alpha as color values
SDL_SetRenderDrawColor(pRenderer, 0, 0, 0, 255);
// clear the window to black
SDL_RenderClear(pRenderer);
// ... draw something ...
// show the window
SDL_RenderPresent(pRenderer);
}
SDL_DestroyRenderer(pRenderer);
SDL_DestroyWindow(pWindow);
// clean up SDL
SDL_Quit();
return 0;
}