SDL常用庫介紹

2021-06-18 05:52:55 字數 1842 閱讀 2706

(幫助文件在docs下)

1, sdl

全稱 ****** directmedia layer,是免費的跨平台多**應用程式設計介面,可用於遊戲、遊戲開發工具、模擬器、樣本演示、多**應用等.

2, sdl_image

sdl庫只支援windows bitmap格式的顯示,而sdl_image封裝了多種格式的影象顯示介面,它支援bmp,png,jpeg,jif等,當需要支援某種格式時,還 需要額外的影象解碼介面,比如,如果要顯示png格式的影象,那麼還需要libpng,如果要顯示jpeg的影象,需要libjpg.

3, sdl_ttf

該庫用於顯示文字.

操作過程介紹:

(1) ttf初始化

(2) 開啟字型檔案,並設定字型大小

(3) 設定字型的其他屬性

(4) 使用開啟的字型,將所要顯示的文字"畫"到記憶體中,根據文字的不同,有三類作用相同但名稱不同的函式,他們是 text,utf8,unicode,text是普通字串,uft8是utf8格式的字串,而unicode是unicode格式的字串,比如,

ttf_rendertext_solid

ttf_renderutf8_solid

ttf_renderunicode_solid

這三組函式都是"畫"空心字型,不同的是表示輸出字串的第二個引數.

(5) 將記憶體資料拷貝到當前顯示裝置環境

(6) 釋放記憶體顯示環境

(7) 重新整理當前顯示裝置環境

(8) 關閉所開啟的字型

(9) 銷毀ttf

ex:int drawtext(sdl_su***ce *pscreen,const char *psztext,unsigned int nsize,int x,int y,sdl_color color)

//設定字型屬性

ttf_setfontstyle(pfont,ttf_style_bold|ttf_style_normal);

rect.x = x;

rect.y = y;

rect.w = rect.h = 0;

sdl_color bg = ;

//使用開啟的字型,將字串"畫"到記憶體(顯示環境)中

if((ptextsu***ce = ttf_rendertext_blended(pfont,psztext,color)) == null)

//if((ptextsu***ce = ttf_rendertext_solid(pfont,psztext,color)) == null)

//if((ptextsu***ce = ttf_rendertext_shaded(pfont,psztext,color,bg)) == null)

else

//釋放記憶體顯示環境

sdl_freesu***ce(ptextsu***ce);

//重新整理當前顯示環境

sdl_flip(pscreen);//flash the screen

//關閉字型

ttf_closefont(pfont);

return 0;

}sdl_color color = ;

ttf_init();   //ttf 初始化

drawtext(pscreen,"sdl demo",30,10,10,color);

ttf_quit();   //銷毀ttf

注:(1) 個人實驗時,可以使用/usr/share/fonts/truetype/*.ttf,但在軟體發行版中一定要小心選擇所用的字型庫,因為很多都是有版權的.

(2) 其他較流行的字型顯示庫還有freetype (

他是乙個完全免費的字型庫,licence:

4, sdl_mixer

SDL 上的介面庫

前兩天折騰 symbian,順便把 sdl 在上面編譯通過了,其間經歷的艱辛真是一言難盡,不知道 symbian 的作者到底有什麼值得誇耀的地方,總是不遺餘力地宣傳自己的優秀架構。sdl 其實只相當於我們熟悉的 gdi 部分,user 部分是沒有的。所以網路上就出現了不少基於 sdl 的 ui 庫。...

SDL2函式簡單介紹01

int sdl init uint32 flags 內部呼叫了sdl initsubsystem 功能 初始化sdl庫,呼叫其他sdl函式之前必須先呼叫此函式 引數 falgs 子系統初始化標誌取下列值的or sdl init timer timer subsystem sdl init audio...

SDL2函式簡單介紹04

1.sdl thread sdl createthread sdl threadfunction fn,const char name,void data 功能 建立乙個新的執行緒 引數 fn 新執行緒中呼叫的函式 name 執行緒的名字 data 傳給fn的引數 返回值 成功返回給新執行緒不透明指...