SDL Guide 中文译版(一)

<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
SDL即Simple DirectMedia Layer,类似DirectX,是完整的游戏、多媒体开发包,但不同的是它跨越几乎所有的平台,有各种语言的接口,多种语言的文档,而这一切都是广大志愿者完成的。目前扩展部分还没有正式的文档,以下为核心部分文档的向导部分。

SDL Guide

SDL向导中文译版

序言

关于SDL

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

关于SDL文档

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

最新版本可在SDLdoc.sourceforge.net/">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.");        /* Initialize defaults, Video and Audio */    if((SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO)==-1)) {         printf("Could not initialize SDL: %s.", SDL_GetError());        exit(-1);    }    printf("SDL initialized.");    printf("Quiting SDL.");        /* Shutdown all subsystems */    SDL_Quit();        printf("Quiting....");    exit(0);}
<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值