SDL Game Development-第2章-2.剪裁式显示BMP
来源:互联网 发布:近期的网络大事件 编辑:程序博客网 时间:2024/05/17 08:22
在最终的render()中,将纹理拷贝到显存中时,source和destination矩形框的改变,可以实现BMP的剪裁式显示
原型:
SDL_RenderCopy(渲染器指针,纹理指针,源图矩形指针,目标位置矩形指针);
//尝试之前,修改背景色为纯黑:
//尝试一:
//如果在查询纹理代码之后,加上为源矩形框的高宽赋值代码:
//尝试二:
//修改目的矩形值
//尝试三:
//在以上的基础上,再次修改源的起点值
//尝试四:
//如果传入RenderCopy的源和目的值都为NULL,则源图会将整个屏幕占满
//修改render()中的代码:
原型:
SDL_RenderCopy(渲染器指针,纹理指针,源图矩形指针,目标位置矩形指针);
//尝试之前,修改背景色为纯黑:
//设置当前渲染色,rgba,红绿蓝透明四通道 SDL_SetRenderDrawColor(m_pRenderer, 0x0, 0x0, 0x0, 0xFF);
//尝试一:
//如果在查询纹理代码之后,加上为源矩形框的高宽赋值代码:
m_srcRect.w = 50;m_srcRect.h = 50;//那么显示到屏幕上的图片,将只有0~50的范围
//修改目的矩形值
m_destRect.x = 100;m_destRect.y = 100;//这将改变图片在屏幕上的显示位置
//尝试三:
//在以上的基础上,再次修改源的起点值
m_srcRect.x = 50;m_srcRect.y = 50;
//尝试四:
//如果传入RenderCopy的源和目的值都为NULL,则源图会将整个屏幕占满
//修改render()中的代码:
SDL_RenderCopy(m_pRenderer, m_pTexture, 0, 0);
最后:完整的代码片段(Game.cpp中)
//然后设置需要绘制到屏幕的位置和高宽。以下代码是使用原图片高宽m_srcRect.w = 50; //尝试一:改变源图需要显示的高宽m_srcRect.h = 50;m_destRect.x = m_srcRect.x = 0;m_destRect.y = m_srcRect.y = 0;m_destRect.w = m_srcRect.w;m_destRect.h = m_srcRect.h;m_destRect.x = 100;m_destRect.y = 100;m_srcRect.x = 50;m_srcRect.y = 50; std::cout << "init success\n"; m_bRunning = true; //所有初始都成功,可以开始主循环了 return true;}void Game::render(){ SDL_RenderClear(m_pRenderer); //清屏 //绘制纹理对象 //SDL_RenderCopy(m_pRenderer, m_pTexture, &m_srcRect, &m_destRect); SDL_RenderCopy(m_pRenderer, m_pTexture, 0, 0); SDL_RenderPresent(m_pRenderer); //双缓冲翻转,新内容显示到屏幕上}
0 0
- SDL Game Development-第2章-2.剪裁式显示BMP
- SDL Game Development-第2章-1.BMP的原样显示
- SDL Game Development-第1章-笔记
- SDL Game Development-第2章-3.利用角色表产生动画
- SDL Game Development-第2章-4.使用SDL_image库操作更多格式的图片
- SDL Game Development-第2章-5.实现纹理管理器Texture Manager
- SDL Game Development-第四章(1)-移动
- SDL Game Development-第3章-1.实现游戏对象管理器(1)Working with Game Objects
- sdl显示bmp
- SDL 显示bmp图片
- SDL Game Development-第四章(2)-输入处理2-处理鼠标移动
- SDL Game Development-第四章(2)-输入处理-创建处理类
- SDL入门教程(三):2、显示一张BMP位图。
- SDL入门教程(三):2、显示一张BMP位图。
- 移植SDL到JZ2440显示BMP图片
- 一个最简单的sdl显示图片例子sdl example sdl 例子 例程SDL贴图bmp
- MFC下用sdl 显示bmp、rgb、yuv
- 嵌入式linux------SDL移植(am335x下显示bmp图片)
- 如何使用 Visual C# .NET 创建用于窗体身份验证的密钥
- CUGB图论专场2:F - PIGS 需要调整的网络流
- Quartz 任务调度机制笔记——01
- Scrapy——可配置的爬虫
- 图(1)--图的相关术语与图的存储结构
- SDL Game Development-第2章-2.剪裁式显示BMP
- unity web player full 完整版unitywebplayer播放器下载址
- POJ 2286 The Rotation Game
- C++访问控制和继承
- 我对一月份居民存款大搬家的理解
- 基于全志A20 android4.2平台如何支持三个SD卡
- 学习asp和jsp前得相关概念
- 【题目】在一个文件里面写入“我有1支铅笔,但是仓库里面有353628支”,读出刚才的文件内容,将1变为一,以此类推,写入新的文件。 新文件内容应为“我有一支铅笔,但是仓库里面有三五三六二八支”
- java下的相关知识