总结:SDL笔记

  这里总结一下个人对SDL的一些函数,方便以后查询。
  v1.0.1
1.窗口:

SDL_Init(SDL_INIT_VIDEO);
//创建窗口
SDL_Window*window=SDL_CreateWindow(char*title,int x, int y, int width, int height,0);
//获取窗口大小
int win_w,win_h;SDL_GetWindowSize(window,&win_w,&win_h);
//销毁窗口
SDL_DestroyWindow(window);
SDL_Quit();

 
  2.渲染器:

//创建
SDL_Renderer*renderer=SDL_CreateRenderer(window,-1,0);
//设置透明度
SDL_SetRenderDrawBlendMode(renderer,SDL_BLENDMODE_BLEND);
//清理
SDL_RenderClear(renderer);
//刷新
SDL_RenderPresent(renderer);
//销毁
SDL_DestroyRenderer(renderer);


  3.加载图片:

#include <SDL2/SDL_image.h>
SDL_Surface*surface=IMG_Load(char*file);


  4.加载文字:

#include <SDL2/SDL_ttf.h>
TTF_Init();
TTF_Font*font=TTF_OpenFont(char*file, int size);
SDL_Surface*surface=TTF_RenderUTF8_Blended_Wrapped(TTF_Font*font, chae*str, SDL_Color color, int width);

//文字风格:斜体。另外 TTF_STYLE_BOLD:粗体,TTF_STYLE_UNDERLINE:下划线,TTF_STYLE_STRIKETHROUGH:删除线,TTF_STRLE_NORMAL:正常
TTF_SetFontStyle(TTF_Font*font, TTF_STYLE_ITALIC);
//退出
TTF_CloseFont(font);TTF_Quit();


  5.texture:

//surface转换成texture
SDL_Texture*texture=SDL_CreateTextureFromSuface(SDL_Renderer*renderer, SDL_Surface*surface);
//获取texture的长宽的with,height;
SDL_QueryTexture(SDL_Texture*texture, NULL, NULL, &with, &height);


  6.surface:
//销毁
SDL_FreeSurface(SDL_Surface*surface);


  7.设置surface和texture的透明度:

SDL_SetSurfaceBlendMode(SDL_Surface*surface, SDL_BLENDMODE_BLEND);
SDL_SetSurfaceAlphaMod(SDL_Surface*surface, Uint8 alpha);
SDL_SetTextureBlendMode(SDL_Texture*texture, SDL_BLENDMODE_BLEND);
SDL_SetTextureAlphaMod(SDL_Texture*texture, Uint8 alpha);


  8.画画:

SDL_SetRenderDrawColor(SDL_Renderer*renderer, Uint8 r,Uint8 g, Uint8 b, Uint8 a); //设置画笔颜色
SDL_FillRect(SDL_Renderer*renderer, SDL_Rect*rect); //填充矩形


  9.在texture上画画:

SDL_Texture*texture=SDL_CreateTexture(SDL_Renderer*renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, int width, int height);
SDL_SetRenderDrawColor(SDL_Renderer*renderer, 255, 255, 255, 0);
SDL_SetRenderTarget(SDL_Renderer*renderer, SDL_Texture*texture);
SDL_RenderClear(SDL_Renderer*renderer);
...//画画
SDL_SetRenderTarget(SDL_Renderer*renderer, NULL);
             
             












             
             
 
 
























             
             












             
             
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值