SDL Guide中文译版1

第一章 基础

初始化

SDL由八个子系统组成——音频、CDROM、事件处理、文件I/O、游戏杆、线程、记时器和视频。使用前必须调用SDL_Init或SDL_InitSubSystem初始化。SDL_Init必须早于其他所有SDL调用,它将自动初始化事件处理、文件I/O和线程子系统,并根据参数选择启动其他子系统。例如,初始化缺省和视频子系统:

 

SDL_Init(SDL_INIT_VIDEO);初始化缺省、视频和记时器子系统:

 

SDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER);SDL_Init对应SDL_Quit(和SDL_QuitSubSystem)。SDL_Quit关闭所有子系统,必须在程序关闭前调用。

 

除此之外,我们还必须进行错误处理。很多SDL函数返回一个值指示成功与否。例如SDL_Init失败时返回-1。每当SDL出错时,错误信息被保存,并可用SDL_GetError取得。

 

例1-1 初始化SDL

#include "SDL.h"   /* All SDL App's need this */

#include <stdio.h>

 

int main() {

   

    printf("Initializing SDL.\n");

   

    /* Initialize defaults, Video and Audio */

    if((SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO)==-1)) {

        printf("Could not initialize SDL: %s.\n", SDL_GetError());

        exit(-1);

    }

 

    printf("SDL initialized.\n");

 

    printf("Quiting SDL.\n");

   

    /* Shutdown all subsystems */

    SDL_Quit();

   

    printf("Quiting....\n");

 

    exit(0);

}

 

第二章 图像和视频

SDL Vidow显示

初始化SDL Video显示

视频是最常用的部分,也是SDL最完整的子系统。下面的初始化过程是每个SDL程序都要做的,即使可能有些不同。

 

例2-1 初始化视频

    SDL_Surface *screen;

 

    /* Initialize the SDL library */

    if( SDL_Init(SDL_INIT_VIDEO) < 0 ) {

        fprintf(stderr,

                "Couldn't initialize SDL: %s\n", SDL_GetError());

        exit(1);

    }

 

    /* Clean up on exit */

    atexit(SDL_Quit);

   

    /*

     * Initialize the display in a 640x480 8-bit palettized mode,

     * req


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值