Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2294868
  • 博文数量: 218
  • 博客积分: 5767
  • 博客等级: 大校
  • 技术积分: 5883
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-01 14:44
文章存档

2012年(53)

2011年(131)

2009年(1)

2008年(33)

分类: LINUX

2008-05-13 16:52:15

第一章 基础

初始化

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

 

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

阅读(1699) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2009-09-16 10:06:03

qqq