SDL(Simple DirectMedia Layer)

博客搬家自 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;
}


發佈了34 篇原創文章 · 獲贊 21 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章