Simple DirectMedia Layer项目或更好的“ SDL”背后的开发人员 几天前发布的新版本SDL 2.0.12的发布公告,主要是为了添加el支持各种视频游戏控制器, 以及此库的一些其他功能,旨在简化游戏和多媒体应用程序的编写。
对于那些不了解图书馆的人 SDL,您应该知道这一点, 提供诸如硬件加速的2D和3D图形输出之类的工具,输入处理,音频播放,通过OpenGL / OpenGL ES进行3D输出以及许多其他相关操作。
SDL 它与Windows,Mac OS X,Linux,iOS和Android正式兼容, 尽管它支持QNX等其他平台以及Sega Dreamcast,GP32,GP2X等其他体系结构和系统。
简单DirectMedia层 用C编写,与C ++兼容 并且链接适用于其他几种语言,包括C#和Python,它是在zlib许可下分发的。 该许可证允许您在任何软件中自由使用SDL。
尽管使用C进行编程,但它具有其他编程语言的包装,例如C ++,Ada,C#,BASIC,Erlang,Lua,Java,Python等。
Simple DirectMedia Layer 2.0.12的新功能是什么?
随着该库新版本的发布,开发人员提到了 与Nintendo GameCube游戏控制器的兼容性 和指标 SDL_HINT_JOYSTICK_HIDAPI_GAMECUBE 确定使用它们的事实,将它们添加到HIDAPI控制器中。 HIDAPI还改进了对Xbox 360和Xbox One的支持。
除了提及完成添加 支持游戏控制器:
- 8BitDo FC30专业版
- 8BitDo M30游戏手柄
- BDA PS4战斗垫
- HORI战斗指挥官
- 金刚公爵
- 金刚X91
- 摩加XP5-A Plus
- 纳康GC-400ES
- NVIDIA控制器v01.04
- PDP与战斗垫
- Razer Raion Fightpad适用于PS4
- 雷蛇薮猫
- 体育场控制器
- 赛睿 Stratus Duo
- Victrix Pro战斗棒(PS4)
- Xbox One精英系列2
除此之外, 增加了功能 SDL_GetTextureScaleMode()和SDL_SetTextureScaleMode() 获取并设置用于纹理的缩放模式, 功能 SDL_LockTextureToSurface(),类似于SDL_LockTextureTo(),但将锁定区域视为SDL Surface,并添加了新的混合模式 SDL_BLENDMODE_MUL。
SDL_GameControllerTypeForIndex()函数提供游戏控制器类型的结论(Xbox 360,Xbox One,PS3,PS4,Nintendo Switch Pro)。
新增功能 SDL_JoystickFromPlayerIndex(),SDL_JoystickSetPlayerIndex(),SDL_GameControllerSetPlayerIndex()和SDL_GameControllerFromPlayerIndex() 确定并安装与播放器索引关联的设备。
而 对于Android,添加了使用OpenSL-ES捕获声音的功能 和 支持使用蓝牙Steam Controller 作为游戏控制器。
在提到的其他更改中:
- 添加了SDL_zeroa()宏以将元素数组归零。
- 添加了SDL_HasARMSIMD()函数,以定义对ARMv6 + CPU上的ARM SIMD指令的支持。
- 对于Linux系统,实现了.SDL_HINT_VIDEO_X11_WINDOW_VISUALID(为新X11窗口定义输出标识符)和SDL_HINT_VIDEO_X11_FORCE_EGL(为X11使用GLX或EGL的选项)的功能。
如何在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