SDL2常用函數&結構分析:SDL_Init

SDL_Init

函數原型如下:

int SDL_Init(Uint32 flags)

使用此函數初始化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 兼容性; 這個標誌被忽略了

返回值:int 成功時返回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):表示需要初始化視頻和音頻子系統。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章