SDL游戏编程门篇.doc

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SDL游戏编程门篇

使用SDL打造游戏世界之入门篇 /edu/vc/2005/12/y057433.html简介  Simple DirectMedia Layer, 简称SDL,是一个自由的跨平台的多媒体开发包,主要通过OpenGL和2D视频帧缓冲(framebuffer)提供对音频、键盘、鼠标、游戏操纵杆(joystick)和3D硬件的底层访问。它被广泛的应用于MPEG回放软件、模拟器和多个著名游戏中,如获得大奖的《文明:权倾天下》(Civilization: Call To Power)的Linux移植版本。它的官方站点是:/ ,还有一个非常个性的LOGO(图1)。 在Win32编程中,如果要操纵2D图像,可以选择使用GDI或者DirectDraw,前者速度较慢,而后者是特定针对Microsoft平台的,在非Win32平台上移植会带来很大的麻烦。这时,你可以选择使用SDL。SDL支持多种平台:Linux、Windows, BeOS, MacOS Classic, MacOS X, FreeBSD, OpenBSD, BSD/OS, Solaris, IRIX和QNX,同时也部分支持部分其他平台:Windows CE, AmigaOS, Dreamcast, Atari, NetBSD, AIX, OSF/Tru64, RISC OS和SymbianOS。当然SDL本身是针对2D图像编程的,如果使用到3D编程,那么需要将SDL和OpenGL结合使用。  SDL是用C编写的,但是也支持C++,同时其他多种语言,下面给出了其他语言的SDL的开发包的相关信息:·Ada    AdaSDL - /projects/adasdl/   ·C#    SDL.Net - /   ·Eiffel    ewg - /   ·Erlang    ESDL - /cslab/~dgud/esdl/   ·Euphoria    SDL_Wrap - /sdl_wrap.zip   ·Guile    guile-sdl - /projects/guile-sdl/   ·Java    JSDL - /    sdljava -   ·Lisp    CL-SDL - /    SDL for Corman Common Lisp - /lisp_sdl.php3   ·Lua    luaSDL - /wiki/LuaModuleLuaSdl   ·ML    SDLML - http://www.HardcoreP/Freeware/SDLML.html    OCamlSDL - /   ·Objective C    SDLOBJC - /projects/sdlobjc/   ·Pascal    SDL4Freepascal - /    JEDI-SDL - /Jedi:TEAM_SDL_HOME   ·Perl    SDLPerl -   ·PHP    PHP SDL module -   ·Pike    Natively supported (module SDL) - http://pike.ida.liu.se/   ·Pliant    Pligame - /   ·Python    PyGame - /   ·Ruby    Ruby/SDL - http://www.kmc.kyoto-u.ac.jp/~ohai/index.en.html    RUDL -   功能视频   ·设置8bpp或更高的任意色彩深度的视频模式。如果某个模式硬件不支持,可以选择转化为另一模式。   ·直接写入线性的图像帧缓冲(framebuffer)。   ·用颜色键值(colorkey)或者alpha混合属性创建用于绘图的表面(surface)。   ·Surface的blit能自动的转化为目标格式。blit是优化过的,并能使用硬件加速。x86平台上有针对MMX优化过的blit。   ·硬件加速的blit和fill(填充)操作,如果硬件支持的话。   事件   ·提供以下事件:   o 应用程序的visibility(可视性)发生改变   o 键盘输入   o 鼠标输入   o 用户要求的退出   ·每种事件都能通过SDL_EventState()关闭或者打开。   ·事件经由用户指定的过滤函数再被加入到内部的事件队列。   ·线程安全的事件队列。   音频   ·设置8位和16位的音频,单声道或者立体声,如果格式硬件不支持,可以选择转换。  ·由独立的线程执行音频部分,并提供用户回调(callback)机制。   ·设

文档评论(0)

pangzilva + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档