recientemente SDL 2.0.10庫發布已發布 (簡單直接層), 其目的是簡化遊戲和多媒體應用程序的編寫。
簡單DirectMedia層 是一個跨平台開發庫,旨在提供對音頻,鍵盤,鼠標,操縱桿和圖形硬件的低級訪問 通過OpenGL和Direct3D。 流行的視頻播放器軟件,仿真器和遊戲(包括Valve屢獲殊榮的目錄和許多Humble Bundle遊戲)都使用它。
關於簡單DirectMedia層
圖書管理員提供了諸如硬件加速的2D和3D圖形輸出之類的工具, 輸入處理,音頻播放,通過OpenGL / OpenGL ES進行3D輸出以及許多其他相關操作。
簡單DirectMedia層 它與Windows,Mac OS X,Linux,iOS和Android正式兼容, 儘管除了其他架構和系統(例如Sega Dreamcast,GP32,GP2X等)之外,它還支持QNX等其他平台。
簡單DirectMedia層 用C編寫,可與C ++一起使用 並且有適用於其他幾種語言(包括C#和Python)的鏈接,這些鏈接是在zlib許可下分發的。 該許可證允許您在任何軟件中自由使用SDL。
儘管使用C進行編程,但它具有其他編程語言的包裝,例如C ++,Ada,C#,BASIC,Erlang,Lua,Java,Python等。
Simple DirectMedia Layer 2.0.10的主要新功能
關於此新版本的Simple DirectMedia Layer 2.0.10 驅動程序已刪除,可以使用Mir顯示服務器工作 有利於控制者通過Wayland工作。
巨集 SDL_RW * 成為一組單獨的功能,並添加了功能 SDL_SIMDGetAlignment(),SDL_SIMDAlloc()和SDL_SIMDFree() 為操作分配內存 單指令多數據流.
開發人員請注意,默認情況下會翻譯SDL呈現API 使用批處理渲染,可以實現更好的性能。 選項 SDL_HINT_RENDER_BATCHING 添加到控制批處理模式。
對於iOS 13和tvOS 13,已添加了對Xbox和PS4無線控制器的支持,以及使用藍牙鍵盤的文本輸入。
對於Android,將實現使用OpenSL ES實施的低延遲聲音處理模式。
新增選項 SDL_HINT_ANDROID_BLOCK_ON_PAUSE 在掛起應用程序時控制事件循環的阻塞。
在此新版本中突出的其他更改包括:
- 添加 SDL_RenderDefex SDL
- 新增功能 SDL_GetTouchDeviceType() 確定觸摸設備的類型(具有相對或絕對坐標的觸摸面板或觸摸屏)
- 為了強制執行排隊的批處理命令,已添加了該調用 SDL_RenderFlush(),這在通過SDL和直接繪圖進行繪圖的組合中很有用;
- 新增選項 SDL_HINT_EVENT_LOGGING 啟用SDL事件日誌記錄以進行調試
- 新增選項 SDL_HINT_GAMECONTROLLERCONFIG_FILE 用遊戲控制器的佈局設置文件名;
- 新增選項 SDL_HINT_MOUSE_TOUCH_EVENTS 根據鼠標事件控制觸摸事件的綜合
- 改進了對格式錯誤的WAVE和BMP文件的處理,以阻止潛在漏洞
如何在Linux上安裝Simple DirectMedia Layer?
在Linux上安裝此庫非常簡單,因為大多數Linux發行版都在其存儲庫中包含該庫。
在這種情況下 Debian,Ubuntu及其衍生的發行版,您只需運行 終端中的以下命令:
sudo apt-get install libsdl2-2.0 sudo apt-get install libsdl2-dev
而對於那些是你的人Arch Linux suarios我們只需要運行以下命令:
sudo pacman -S sdl2
對於那些是 Fedora,Centos,RHEL或基於它們的任何發行版, 他們只需要運行以下命令:
sudo yum install SDL2 sudo yum install SDL2-devel
對於所有其他Linux發行版,他們可以搜索軟件包“ sdl”或“ libsdl”進行安裝或下載並編譯源代碼。
他們這樣做:
hg clone https://hg.libsdl.org/SDL SDL cd SDL mkdir build cd build ./configure make sudo make install
關於實施和使用信息。 他們可以諮詢 以下鏈接。