Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / SDL入门学习教程

一、简介SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。目前SDL多用于开发游戏、模拟器、媒体播放器等多媒体应用领域。二、配置sudo apt-get install libsdl1.2-dev附加包:sudo apt-get install libsdl-image1.2-devsudo apt-get install libsdl-mixer1.2-devsudo apt-get install libsdl-ttf2.0-devsudo apt-get install libsdl-gfx1.2-dev也可以去官网下载最新的源码进行编译。三、测试#include "SDL/SDL.h" 
int main( int argc, char* args[] ) 

    //Start SDL 
    SDL_Init( SDL_INIT_EVERYTHING ); 
    //Quit SDL 
    SDL_Quit(); 
    return 0;     
} 编译命令:g++ main.c -o main -lSDL如果程序能够编译通过并能够运行,那么SDL安装成功。四、加载一张位图SDL可以很方便的来加载位图。首先拷贝一张bmp格式的图片到项目文件夹,然后修改代码如下:#include <stdio.h> 
#include <SDL/SDL.h> 
int main() 

    //The images 
    SDL_Surface* hello = NULL; 
    SDL_Surface* screen = NULL; 
    SDL_Init( SDL_INIT_EVERYTHING ); 
    //Set up screen 
    screen = SDL_SetVideoMode( 640, 480, 32, SDL_SWSURFACE ); 
    //Load image 
    hello = SDL_LoadBMP( "1.bmp" ); 
    //Apply image to screen 
    SDL_BlitSurface( hello, NULL, screen, NULL ); 
    //Update Screen 
    SDL_Flip( screen ); 
    //Pause 
    SDL_Delay( 5000 );     
    //Quit SDL 
    SDL_Quit(); 
    //Free memory 
    SDL_FreeSurface( hello ); 
    //Quit SDL 
    SDL_Quit(); 
    return 0; 
} 编译运行:如果需要加载其他格式的图片,需要添加SDL_image库。几个用到的函数解释一下:SDL_Init():动态的加载和初始化SDL库。 该函数带有一组标记来表示哪部分需要激活:
SDL_INIT_AUDIO
SDL_INIT_VIDEO
SDL_INIT_CDROM
SDL_INIT_TIMER
SDL_INIT_EVERYTHING
使用完毕最后调用SDL_Quit()。SDL_SetVideoMode()
设置视频的色彩深度和分辨率SDL_LoadBMP()加载BMP图片int SDL_BlitSurface(SDL_Surface *src, SDL_Rect *srcrect, SDL_Surface *dst, SDL_Rect *dstrect);
4个参数都是指针——2个SDL_Surface指针,2个SDL_Rect指针。src是源面,也就是被blit的面;dst是目的面,也就是源面被blit到的面。int SDL_Flip(SDL_Surface *screen);交换屏幕缓冲相关链接:SDL入门学习续-在SDL中使用OpenGL  http://www.linuxidc.com/Linux/2012-12/75256.htm