SDL的介绍

SDL是Simple DirectMedia Layer(简易直控媒体层)的缩写。它是一个跨平台的多媒体库,以用于直接控制底层的多媒体硬件的接口。这些多媒体功能包括了音频、键盘和鼠标(事件)、游戏摇杆等。当然,最为重要的是提供了 2D图形帧缓冲(framebuffer)的接口,以及为 OpenGL与各种操作系统之间提供了统一的标准接口以实现 3D图形。从这些属性我们可以看出,SDL基本上可以认为是为以电脑游戏为核心开发的多媒体库。

SDL 支持主流的操作系统,包括 Windows 和 Linux。在官方的介绍中,我们可以找到它所支持的其他平台。(SDL supports Linux, Windows, Windows CE, BeOS, MacOS, Mac OS X,FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX.)。SDL 本身从 C语言开发,并且能很好的在C++等高级语言中使用。在官方可以看到SDL所支持的语言很多。(IncludingAda, C#, Eiffel, Erlang, Euphoria, Guile, Haskell, Java, Lisp, Lua, ML, Objective C, Pascal, Perl,

PHP, Pike, Pliant, Python, Ruby, Smalltalk, and Tcl.)

SDL在GNU LGPL version 2下发布,这意味着你可以免费的使用。并且可以免费的用于商业软件的制作(只要你直接使用 SDL的动态链接库,Windows 下的 SDL.dll)。如果你将 SDL库编译进了自己的二进制代码中,你需要指明你所使用的 SDL 库的版本以及包括你自己修改的源代码,并说明这些代码的原始出处。这是很宽松的法律,你可以用如此强大的多媒体库完全合法的免费开发商业游戏。

SDL的组成

SDL本身是封装各种操作系统,图形,输入,输出等底层输出。在某一些分支,还有一些额外的库支持来扩展SDL的功能。常见的扩展有

lSDL_image ,SDL默认只支持BMP格式图象,如果需要其它图形JPEG/GIF/PNG/TIFF等就需要这个扩展库

lSDL_ttf。使用MS的True Type Font来显示各种字体,包括中文或其它非字母文字。

lSDL_net. 封装网络处理。

lSDL-mixter封装对各种音效,播放音乐文件的处理。

lSDL_gfx SDL图形显示及特效扩展。

SDL其它扩展:

图形界面

Agar - Advanced GUI toolkit with OpenGL support. Object-oriented, extensible and easily integrable, it is implemented in C but is usable from C++ and other languages
http://libagar.org

.
SDL库的安装
SDL库在LINUX是安装非常简单的,是典型的configure/make/make install的项目.有一项目需要提前安装依赖库.
  • SDL库
  • SDL_image库,需要先安装libjpeg/libpng
  • SDL-mixter库,需要先安装libmad 库,(libid3tag不是必须)但是建议安装.
  • SDL_ttf库.
  • SDL_net
  • SDL_gfx 库安装

SDL库的安装

  • 下载 http://www.libsdl.org/release/SDL-1.2.14.tar.gz
  • 解压 tar xvzf SDL-1.2.14.tar.gz
  • 生成Makefile cd SDL-1.2.14    & ./configure
  • 编译安装然后 make & make install

建议下载 sdl联机文档.

http://www.libsdl.org/archives/sdldoc-html.zip 或http://www.libsdl.org/archives/SDLRef.chm

以及FAQ http://www.libsdl.org/archives/SDL-1.2-FAQ.zip

SDL_image库的安装

  • 下载 http://www.libsdl.org/projects/SDL_image/release/SDL_image-1.2.8.tar.gz
  • 预先安libpng,否则png 格式不支持,RHEL自带了相关库执行
    • rpm -ivh libpng-1.2.10-7.i386.rpm
    • rpm -ivh libpng-devel-1.2.10-7.i386.rpm
  • 预先安装libjpeg,否则jpeg,gif,tiff 很多格式不支持.RHEL自带了相关库执行.
    • rpm -ivh libjpeg-6b-37.i386.rpm
    • rpm -ivh libjpeg-devel-6b-37.i386.rpm
  • 解压 tar xvzf SDL_image-1.2.8.tar.gz
    • cd SDL_image-1.2.8
  • 生成makefile ./configure
  • 编译,安装 make & make install

SDL_ttf库的安装

  • 下载 http://www.libsdl.org/projects/SDL_ttf/release/SDL_ttf-2.0.9.tar.gz
  • 解压 tar xvzf SDL_ttf-2.0.9.tar.gz
    • cd SDL_ttf-2.0.9
  • SDL_ttf 可以用freetype支持库
    • 下载 http://ftp.twaren.net/Unix/NonGNU/freetype/freetype-2.3.11.tar.gz
    • 解压 tar xvzf freetype-2.3.11.tar.gz
    • 然后./confgiure & make & make install
  • 生成makefile ./configure
  • 编译,安装 make & make install

SDL-mixer库安装

  • 下载http://www.libsdl.org/projects/SDL_mixer/release/SDL_mixer-1.2.11.tar.gz
  • SDL-mixer 需要libmad 支持
    • 下载ftp://ftp.mars.org/pub/mpeg/libmad-0.15.1b.tar.gz
    • 解压 tar xvzf libmad-0.15.1b.tar.gz
    • 然后然后./confgiure & make & make install
  • 建议安装libid3tag库
    • 下载 ftp://ftp.mars.org/pub/mpeg/libid3tag-0.15.1b.tar.gz
    • 解压 tar xvzf libid3tag-0.15.1b.tar.gz
    • 然后然后./confgiure & make & make install
  • 解压 tar xvzf SDL_mixer-1.2.9.tar.gz
    • cd SDL_mixer-1.2.9
  • 生成Makefile ./configure --enable-music-mp3-mad-gpl --enable-music-mp3=no
  • 关于为什么用libmad 请参见http://blog.chinaunix.net/u3/105675/showart_2096192.html
  • 注意安装时,请用LINUX下的系统->管理->声卡检测来是否正常.

SDL-net库安装

  • 下载http://www.libsdl.org/projects/SDL_net/release/SDL_net-1.2.7.tar.gz
  • 解压 tar xvzf SDL_net-1.2.7.tar.gz
    • cd SDL_net-1.2.7
  • 生成makefile ./configure
  • 编译,安装 make & make install

SDL-gfx库安装

主页 : http://www.ferzkopp.net/Software/SDL_gfx-2.0/

  • 下载http://www.ferzkopp.net/Software/SDL_gfx-2.0/SDL_gfx-2.0.20.tar.gz
  • 解压 tar xvzf SDL_gfx-2.0.20.tar.gz
    • cd SDL_gfx-2.0.20
  • 生成makefile ./configure
  • 编译,安装 make & make install

SDL游戏测试

我选择几个成功运行的游戏测试

超级马里奥

  • 源码下载 http://smw.supersanctuary.net/18Beta2/smw-1.8-beta2-src.zip
  • 解压 unzip smw-1.8-beta2-src.zip
    • cd cd smw-1.8-beta2-src
    • configure 脚本有BUG是WINDOWS文本文件, dos2unix configure
  • 编译 make
  • 运行 _src/smw. 其中需要地图之类 
    • tar xvzf smw-1.8-beta2-linux.tar.gz -C /
  • 运行游戏                                                              
    • export LD_LIBRARY_PATH=/usr/local/lib ; ./smw

alsym
  • 下载 http://downloads.sourceforge.net/project/sdl-asylum/Asylum/0.3use_mirror=nchc
  • 解压. tar xvzf asylum-0.3.2.tar.gz
    • cd asylum-0.3.2
  • 编译 make
  • 运行 export LD_LIBRARY_PATH=/usr/local/lib ; ./asylum
  • 运行界面

仙剑奇侠传

70后年代,单机版的经典DOS游戏.我能向学生解释的只有电视剧<<仙剑奇侠传>>已经拍到3了. sdlpal是一个重写的程序,即作者在已经分析出原有游戏的资源文件格式(如图片,音乐,游戏进度,场景等)用SDL重写的一个游戏.因此完整的游戏还需要dos版游戏资源文件
  官方网站 http://sdlpal.codeplex.com/.
我下载是 sdlpal-37652.zip.
http://sdlpal.codeplex.com/Project/Download/SourceControlFileDownload.ashx?ProjectName=sdlpal&changeSetId=37652
 
  游戏资源的可以下载26M的精减版.注意里面一般都是大写文件名,但是sdlpal使用的都是小写文件,可以写一个脚本一次改

sdlpal的编译

  • 解压 unzip sdlpal-37652.zip
  • cd sdlpal
  • 编译 sdlpal
  • 安装.X86版的可执行文件在  项目目录的 dist/Debug/GNU-Linux-x86 下面,将其拷贝到DOS版的目录下.
  • 运行 export LD_LIBRARY_PATH=/usr/local/lib ; ./sdlpal

完全文件列表

0.rpg     f.mkf        mpu401.drv  roriso.nfo  wor16.asc
1.rpg     gop.mkf      mus.mkf      voc.mkf     wor16.fon
abc.mkf   install.exe  pal.exe     sdlpal      word.dat
ball.mkf  map.mkf      pat.mkf     sdlpal.map
data.mkf  mgo.mkf      play.bat    setup.dat
fbp.mkf   midi.mkf     rgm.mkf     sss.mkf
fire.mkf  m.msg        rng.mkf     voc.mkf
aa
转自:http://blog.chinaunix.net/uid-20587912-id-405018.html

SDL库的安装及游戏测试相关推荐

  1. SDL库的安装,spca5xx的安装,spcaview 的安装,摄像头的查看,及常见问题的解决方法。

    spca5xx和spcaview简单介绍 Linux内核中集成了对0V511系列摄像头的支持,但没有包含对我的摄像头的支持,本文选用了开源驱动pca5xx-20060501.tar.gz,这个驱动提供 ...

  2. SDL 库安装、环境配置与使用

    SDL 获取与安装 下载地址: SDL 上面是官网的界面,我是准备用MinGW,所以选择SDL2-devel-2.0.9-mingw.tar.gz. 如果用VS的话,就选择VC版本. 解压之后: 可以 ...

  3. SDL库及SDL_draw库的安装、SDL库的使用

    SDL库及SDL_draw库的安装.SDL库的使用 (1)SDL基本库的安装 在Ubuntu下使用apt-get安装,由于我在安装过程中出现的错误,要注意一定要在联网的情况下进行安装.分别安装libs ...

  4. Linux下基于SDL库贪吃蛇游戏

    Linux下基于SDL库贪吃蛇游戏   SDL(Simple DirectMediaLayer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成.SDL提供了数种控制图像.声音.输出入的函数,让开 ...

  5. Ubuntu16.04 系统下的pytorch库(cpu版)安装与demo测试

    PyTorch是一个快速,灵活的实验深度学习框架[1].下面介绍Ubuntu16.04 系统及Anaconda环境下,对于pytorch库(cpu版)的安装与demo测试. 系统环境: Ubuntu1 ...

  6. Python第三方库的安装及测试

    Python是一种面向对象,直译式计算机程序设计语言,也是一种功能强大而完善的通用型语言,其具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用.那如何将第三方库安装到Python中呢? 接下来 ...

  7. Airtest+Poco多设备并发自动化游戏测试框架(遇到的问题)

    项目:基于unity3d项目 涉及相关模块:关卡,战斗,商城,装备,强化,天赋等 记录:Airtest+poco+pycharm自动化游戏测试过程中发现的问题以及解决的方法 目标:自动化打包安装,多机 ...

  8. python做游戏用什么软件_Python 与游戏测试 (小工具篇)

    最近在TesterHome游戏测试群里,有时候会看到有童鞋问,游戏测试人员学了Python,可以干点什么. 很多童鞋初学Python,学习了语法和基础类库后,开始迷茫如何实际使用到工作中去,其实Pyt ...

  9. Mysql依赖库Boost的源码安装,linux下boost库的安装

    boost'准标准库'安装过程. 安装的是boost_1_60_0. (1)首先去下载最新的boost代码包,网址www.boost.org. (2)进入到自己的目录,解压: bzip2 -d boo ...

最新文章

  1. hbase2.0.0-安装部署
  2. 外媒评李开复的《AI·未来》:四大浪潮正在席卷全球
  3. 1.Hello,World all the time
  4. PowerDesigner教程系列(三)概念数据模型
  5. GIS配准和配准算法基本概念学习
  6. 2020年日历_2020年《故宫日历》发布 纪念紫禁城建成六百年
  7. python 线程类 threading.Thread.run() 方法
  8. 初三计算机会考成都,高中阶段教育学校统一招生考试试卷(含成都市初三毕业会考)...
  9. 使用BAPISDORDER_GETDETAILEDLIST创建S/4HANA的Outbound Delivery
  10. mysql一次性获取几十万数据_《快速念咒——MySQL自学入门指南》:第2章——从表中获取更多数据(前言)...
  11. 【学习笔记】WQS二分详解及常见理解误区解释
  12. 支付渠道路由系统进化史
  13. Windows 下安装 laravel框架
  14. java in查询无法查询到数据(mybatis字符#与字符$的区别)
  15. Universal Source_free Domain Adaption论文阅读笔记
  16. HTML/CSS/Javascript在线代码运行网站汇总
  17. uniApp实现选择图片裁剪设置用户头像
  18. Java面试题全集(三)
  19. python画玫瑰花(含文字)
  20. GBase xdm价值

热门文章

  1. java 拼图游戏_Java小项目之:拼图游戏!
  2. win2003能装mysql_win2003 安装2个mysql实例做主从同步服务配置
  3. 加速基因测序进程,北鲲云高性能计算平台再发力
  4. 战狼5天票房10亿,吴京抵押房产贷款赚大了
  5. Redis哨兵模式(一主二从三哨兵)
  6. 汉诺塔——老夫不管什么分析不分析,直接粗暴
  7. 千岛湖两日游记,啤酒小镇、天屿山、骑龙巷、东南湖区游玩经验
  8. java台球击球角度,台球瞄准方法--角度的计算----转
  9. 思岚发布新品TOF激光雷达——RPLIDAR S1 性能更强、更稳定
  10. AngularJs中promise 和 $q 的一点解释