SDL是Simple DirectMedia Layer(简易直控媒体层)的缩写。它是一个跨平台的多媒体库,以用于直接控制底层的多媒体硬件的接口。主要用在开发游戏上!
安装SDL:
Ubuntu已经包含SDL库,所以通过几个简单的命令就可以安装。
sudo apt-get install libsdl1.2-dev(比较大,10M左右)
附加包:
sudo apt-get install libsdl-image1.2-dev
sudo apt-get install libsdl-mixer1.2-dev
sudo apt-get install libsdl-ttf2.0-dev
sudo apt-get install libsdl-gfx1.2-dev
安装完成之后,在目录/usr/include中,就会有个SDL文件夹,里面包含了所需要的头文件。
可以通过 :ls -l /user/include 查看
编写一个简单的程序测试一下:
#include<SDL.h> /*使用SDL库,加载该库的头文件*/
#include<stdlib.h>
#include<unistd.h>
int main()
{
SDL_Surface *screen; /*屏幕指针*/
Uint32 color; /*定义一个颜色值*/
int x;
if(SDL_Init(SDL_INIT_VIDEO)<0)
{ /*初始化视频子系统失败*/
fprintf(stderr,"无法初始化SDL:%s\n",SDL_GetError());
exit(1);
}
screen=SDL_SetVideoMode(640,480,16,SDL_SWSURFACE); /*设置视频模式*/
if(screen==NULL)
{
fprintf(stderr,"无法设置640x480x16位色的视频模式:%s",SDL_GetError());
exit(1);
}
atexit(SDL_Quit); /*退出*/
for(x=0;x<=255;x+=1) /*用循环来实现背景色渐变*/
{
color=SDL_MapRGB(screen->format,255,x,x);
/*SDL_MapRGB函数用来设置颜色*/
SDL_FillRect(screen,NULL,color); /*填充整个屏幕*/
SDL_UpdateRect(screen,0,0,0,0); /*更新整个屏幕*/
SDL_Delay(5);
}
SDL_Delay(3000); /*停留3秒钟的时间*/
return 0;
}
编译指令:
gcc -I/usr/include/SDL/ game02.c -o game02 -L/usr/lib -lSDL