SDL - 初识

@Daniate  February 10, 2019

SDL 初识

本文首发于Daniate的个人网站,文章链接:https://daniate.com/2019/02/10/142.html

sdl_logo_640w.jpg

SDL的全称是Simple Directmedia Layer,它是一个跨平台的开发库,通过OpenGLDirect3D,可以提供针对音频、键盘、鼠标、游戏杆及图形硬件的低级访问,在开发视频播放软件、模拟器及游戏时,都可以使用它。

官方支持以下平台:

  • Windows
  • macOS
  • Linux
  • iOS
  • Android

也可以在源代码中找到对其它平台的支持

SDL是由C语言编写的。

SDL官网: https://www.libsdl.org/index.php,在这里,可以找到源代码下载链接,目前,最新版本是2.0.x,与1.0.x版本有较大的不同,因此,为了区别这两个版本,多用SDL代表1.0.x版本,用SDL2SDL 2代表2.0.x版本。

目前,多数的开发,是基于2.0.x版本进行的。

SDL 扩展库

扩展库相关链接:https://libsdl.org/projects/

常用的有:

  • SDL_image
  • SDL_mixer
  • SDL_net
  • SDL_ttf

SDL ext libs.jpg

除了其官网提供的以上4个扩展库,另外还有一个名为SDL2_gfx的扩展库,可以在https://sourceforge.net/projects/sdl2gfx/这里下载其源代码。

SDL_image

它是一个图像文件加载库。可通过加载图像,生成SDL surfaceSDL texture,支持以下格式:

  • BMP
  • GIF
  • JPEG
  • LBM
  • PCX
  • PNG
  • PNM
  • SVG
  • TGA
  • TIFF
  • WEBP
  • XCF
  • XPM
  • XV

SDL_mixer

它是一个多通道混音库。支持同时播放任意数量的16位立体声通道,也支持由FLACMikMod MODTimidity MIDIOgg VorbisSMPEG MP3这些库所混合的单声道音乐。

SDL_net

它是一个小的跨平台网络库,含有聊天客户端及聊天服务器端示例程序。聊天客户端使用了GUIlib库。

SDL_imageSDL_mixerSDL_ttf相比,它并没有那么常用,因为有比它更强大、更好用的跨平台网络库,比如libuvlibevlibevent

SDL_ttf

通过它,就可以在程序中使用TrueType字体。

SDL2_gfx

它包含20多种图元(直线、方框、圆、多边形等等)。

知识共享许可协议
本作品由Daniate采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。


评论已关闭