SDL2.0

来源:互联网 发布:程序员接项目的网站 编辑:程序博客网 时间:2024/05/18 02:05
SDL2相对于SDL1.2做了很大变化, SDL1.2中举目皆是Surface, 似乎是定义时间太久了, 新的SDL2做了进一步划分,从1.2到2.0可以参考官网说明

0. init
  SDL_Init(SDL_INIT_EVERYTHING)

1. window
  可以认为是屏幕,但是SDL2中允许创建多个window
  SDL1.2中的SDL_SetVideoMode()被SDL_CreateWindow()取代
2. renderer
   屏幕的绘制句柄
   SDL_CreateRenderer():从window创建renderer
   SDL_RenderClear():清空绘制区域
  SDL_RenderPresent():显示绘制结果

3.texture
  图片,像素, 以前的精灵
  a)SDL_CreateTexture():从renderer创建texture
    SDL_UpdateTexture():把surface更新到texture上
  b)SDL_CreateTextureFromSurface():可以从render+surface创建texture,可以看做a)的合体

最后 SDL_RenderCopy()把texture复制到renderer上

一般屏幕更新方式是
SDL_RenderClear(): 清空render
SDL_RenderCopy(): 更新render
SDL_RenderPresent(): 显示render



API By Name
  

SDL_ConvertSurfaceFormat():把加载的24bit surface 转换到32bit surface
SDL_MapRGB():获得一个RGB在指定格式中的颜色
SDL_SetColorKey():设置需要当作透明色的Color key,  SDL2中这个函数的参数变了

SDL_PollEvent()提取Event, 如果没有消息则退出
    
0 0