SDL学习笔记 <二>
时间:2008-12-05 来源:Joshua@GPL
1. 加载BMP图片,返回一个表面指针:SDL_LoadBMP()
SDL_Surface *image = SDL_LoadBMP("image.bmp");
2. 从一个表面,进行块复制到另一个表面:SDL_BlitSurface()
int SDL_BlitSurface(SDL_Surface *src,SDL_Rect *sr,SDL_Surfae *dst,SDL_Rect *dr);
第二个参数指定要传送表面的矩形区域,NULL传送整个表面。
3. 只有在直接操作像素的时候,才需要锁屏。因此,绘制(传送)图像时不需要锁屏。
4. 获取键盘按键状态:SDL_GetKeyState()
Uint8 *keys = SDL_GetKeyState(NULL);返回一个Uint8类型的数组,包含了某一按键是否被按下。
if(keys[SDLK_UP]){...}
5. 在某一帧,当屏幕某处没有像素要绘制时,前一帧像素将被保留。
因此,在绘制图片移动的时候要特别注意拖影的产生(要有背景图就行了!),
并且要注意背景的位置,最好要覆盖整个屏幕出一个像素。
SDL_Surface *image = SDL_LoadBMP("image.bmp");
2. 从一个表面,进行块复制到另一个表面:SDL_BlitSurface()
int SDL_BlitSurface(SDL_Surface *src,SDL_Rect *sr,SDL_Surfae *dst,SDL_Rect *dr);
第二个参数指定要传送表面的矩形区域,NULL传送整个表面。
3. 只有在直接操作像素的时候,才需要锁屏。因此,绘制(传送)图像时不需要锁屏。
4. 获取键盘按键状态:SDL_GetKeyState()
Uint8 *keys = SDL_GetKeyState(NULL);返回一个Uint8类型的数组,包含了某一按键是否被按下。
if(keys[SDLK_UP]){...}
5. 在某一帧,当屏幕某处没有像素要绘制时,前一帧像素将被保留。
因此,在绘制图片移动的时候要特别注意拖影的产生(要有背景图就行了!),
并且要注意背景的位置,最好要覆盖整个屏幕出一个像素。
相关阅读 更多 +