SDL Guide 中文译版(一)

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 nightmare 的 blog

sdl即simple directmedia layer,类似directx,是完整的游戏、多媒体开发包,但不同的是它跨越几乎所有的平台,有各种语言的接口,多种语言的文档,而这一切都是广大志愿者完成的。目前扩展部分还没有正式的文档,以下为核心部分文档的向导部分。

sdl guide

sdl向导中文译版

序言

关于sdl

sdl为方便制作能跨跃linux、bsd、macos、win32和beos平台,使用本地高性能媒体接口,并且让您可以只需使用一份源代码级api而设计。sdl是相当低层的api,但使用它可以让你以极大的灵活性写出完全跨平台的程序。

关于sdl文档

sdldoc项目即要重新编写sdl文档并同步更新。项目组有使用sdl的志愿者组成。

最新版本可在http://sdldoc.sourceforge.net下载

谢启

sam lantinga, slouken@libsdl.org

martin donlon, akawaka@skynet.ie

mattias engdeg?rd

julian peterson

ken jordan

maxim sobolev

wesley poole

michael vance

andreas umbach

andreas hofmeister


第一章 基础

初始化

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,game,multimedia,cross-platform
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top