SDL2学习:一、初始化
作者:互联网
SDL简单介绍
SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。目前SDL多用于开发游戏、模拟器、媒体播放器等多媒体应用领域。用下面这张图可以很明确地说明SDL的位置。SDL实际上封装了Direct3D,DirectSound这类的底层API。
SDL实际上并不限于视音频的播放,它将功能分成下列数个子系统(subsystem):
- Video(图像):图像控制以及线程(thread)和事件管理(event)。
- Audio(声音):声音控制
- Joystick(摇杆):游戏摇杆控制
- CD-ROM(光盘驱动器):光盘媒体控制
- Window Management(视窗管理):与视窗程序设计集成
- Event(事件驱动):处理事件驱动
在Windows下,SDL与DirectX的对应关系如下。
SDL | DirectX |
---|---|
SDL_Video、SDL_Image | DirectDraw、Direct3D |
SDL_Audio、SDL_Mixer | DirectSound |
SDL_Joystick、SDL_Base | DirectInput |
SDL_Net | DirectPlay |
SDL播放视频的流程
1、初始化
-
初始化SDL
-
创建窗口(Window)
-
基于窗口创建渲染器(Render)
-
创建纹理(Texture)
2、循环显示画面
-
设置纹理的数据
-
纹理复制给渲染目标
-
显示
SDL_Init()
【函数介绍】
该函数可以确定希望激活的子系统。SDL_Init()函数原型如下:
int SDLCALL SDL_Init(Uint32 flags)
其中,flags可以取下列值:
- SDL_INIT_TIMER:定时器
- SDL_INIT_AUDIO:音频
- SDL_INIT_VIDEO:视频
- SDL_INIT_JOYSTICK:摇杆
- SDL_INIT_HAPTIC:触摸屏
- SDL_INIT_GAMECONTROLLER:游戏控制器
- SDL_INIT_EVENTS:事件
- SDL_INIT_NOPARACHUTE:不捕获关键信号(这个不理解)
- SDL_INIT_EVERYTHING:包含上述所有选项
参考
标签:初始化,函数,SDL2,Init,学习,摇杆,INIT,SDL 来源: https://www.cnblogs.com/zjacky/p/16540454.html