SDL基础-4、渲染与文理(CB)
来源:互联网 发布:淘宝服装一件代发货源 编辑:程序博客网 时间:2024/06/05 21:11
前言
本篇描述SDL2中,渲染与纹理的使用,目的是去除闪屏效果。代码演示了一个随鼠标移动的图片。
代码
#include <stdbool.h>//使用bool类型#include <stdio.h>#include <stdlib.h>#include <SDL2/SDL.h>//引用SDL库#include <SDL2/SDL_image.h>//引用SDL_image库/*采用渲染、文理的模式,可以解决大型程序的闪屏问题*/int main(int argc,char* argv[]){ SDL_Init(SDL_INIT_VIDEO); SDL_Window* window = SDL_CreateWindow("Tutorial",100,100,800,600,SDL_WINDOW_SHOWN); SDL_Renderer* renderer = SDL_CreateRenderer(window,-1,SDL_RENDERER_ACCELERATED);//创建渲染 SDL_RenderClear(renderer); SDL_Surface* OSueface = SDL_LoadBMP("O.bmp"); SDL_Texture* O = SDL_CreateTextureFromSurface(renderer,OSueface);//创建文理 SDL_Rect rect; rect.x = 0; rect.y = 0; rect.w = OSueface->w;//采用渲染,必须要设置长、宽 rect.h = OSueface->h; SDL_Event event; bool quit = false;//t跳出循环后执行quit(),确保资源的释放 while(quit == false) { while(SDL_PollEvent(&event)) { if(event.type == SDL_QUIT)//退出事件 { quit = true; } else if(event.type == SDL_MOUSEMOTION)//鼠标移动事件 { rect.x = event.motion.x - rect.w/2;//设置贴图的起始坐标,起到鼠标定位于图片中心的效果 rect.y = event.motion.y - rect.h/2; SDL_RenderClear(renderer);//清除 SDL_RenderCopy(renderer,O,NULL,&rect);//贴文理 } } SDL_Delay(5);//释放CPU,解决CPU占用过多的问题 SDL_RenderPresent(renderer);//刷新 } SDL_FreeSurface(OSueface); SDL_DestroyWindow(window); SDL_Quit(); return 0;}
0 0
- SDL基础-4、渲染与文理(CB)
- SDL基础-3、基础框架(CB)
- SDL基础-1、搭建开发环境(CB)
- SDL基础-2、配置SDL2_image(CB)
- 文理分科与文理合流
- C++SDL色彩与灯光---基础3
- 零基础学习SDL开发之在Android使用SDL2.0渲染PNG图片
- cb
- 渲染世界的Opengl<4>基础渲染
- char ca[] 与 char *cb
- C++SDL 2D绘图---基础4
- C++ SDL---基础1
- C++SDL---基础2
- FFmpeg + SDL 编程基础
- 软件渲染第一步,利用SDL搭建软件渲染
- VS2012 obj文件(3D模型)导入 进行渲染 添加光照和文理
- SDL起动与退出
- mt2503[CB]MODEM里与CB有关的NVRAM,以及每个NVRAM LID的作用是什么
- java learn
- 关于mysql时间类型datetime与timestamp范围
- 【Basic Code】List集合合并相关项
- Android生命周期分析
- Android 通知栏Notification的整合全面学习
- SDL基础-4、渲染与文理(CB)
- CentOs7中 nginx 与 memcache的安装
- linux 让你的进程后台运行
- 【poj 2456】 Aggressive cows
- html标签的嵌套规则
- 第七周 OJ总结<3>-百位数分解
- [kuangbin带你飞]专题六 最小生成树 D POJ 2421
- 输入两个数,进行四则运算
- web前端-JavaScript 错误 -020