SDL_Init
函数原型如下:
int SDL_Init(Uint32 flags)
函数作用:
初始化SDL库
使用此函数初始化SDL库,必须在使用SDL函数之前调用它。
参数:flags 表示需要初始化那些子系统。常见的子系统和对应的flag如下:
flags | 子系统 |
---|---|
SDL_INIT_TIMER | 计时器子系统 |
SDL_INIT_AUDIO | 音频子系统 |
SDL_INIT_VIDEO | 视频子系统; 自动初始化事件子系统 |
SDL_INIT_JOYSTICK | 操纵杆子系统; 自动初始化事件子系统 |
SDL_INIT_HAPTIC | 触觉(力反馈)子系统 |
SDL_INIT_GAMECONTROLLER | 控制子系统; 自动初始化操纵杆子系统 |
SDL_INIT_EVENTS | 事件子系统 |
SDL_INIT_EVERYTHING | 所有上述子系统 |
SDL_INIT_NOPARACHUTE | 兼容性; 这个标志被忽略了 |
成功时为0,失败时为负错误代码;有关详细信息,请调用SDL_GetError()
示例代码
以一个播放器的初始化为例:
#include "SDL.h"
int main(int argc, char* argv[]) {
if (SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO) != 0) {
SDL_Log("Unable to initialize SDL: %s", SDL_GetError());
return 1;
}
/* ... */
SDL_Quit();
return 0;
}
SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO)
:表示需要初始化视频和音频子系统。
SDL_Quit()
函数原型如下:
void SDL_Quit(void)
函数作用:
清理所有初始化的子系统