转自:http://blog.csdn.net/wcjwdq/article/details/37932769

  显示图片时,在项目中经常会用只读取图片的一部分,而不是全部。

错误方式:很多人这时候会采用setTextureRect(CCRectMake(x, y, width, height)),事实证明,这种方法是不可取的。

正确方式:

那么,我们应该用什么方法呢??下面来介绍一种方法,给出函数的实现。

CCSprite * HelloWorld::getPartTexture(CCSprite * pSprite)
{
if (!pSprite) {
return CCSprite::create();
}
//把renderTexture矩形当做一个画布,左下角为原点。
CCRenderTexture * rt = CCRenderTexture::create(, );
rt->begin();
pSprite->setFlipY(true);
pSprite->setAnchorPoint(ccp(, ));
pSprite->setPosition(ccp(-, ));
pSprite->visit();
rt->end(); return CCSprite::createWithTexture(rt->getSprite()->getTexture());
}

首先,创建一个CCRenderTexture,大小就是你想显示的图片大小。

其次,调用 CCRenderTexture:begin. 这个方法会启动OpenGL,并且接下来,任何绘图的命令都会渲染到CCRenderTexture里面去,而不是画到屏幕上。

第三,对所要切的Sprite1调用visit方法。(如果你要对Sprite1进行锚点、位置或者翻转进行设置,必须要在调用visit之前,否则写了和没写的效果是一样的)

第四,调用 CCRenderTexture:end。这个方法会渲染纹理,并且会关闭渲染至CCRenderTexture的通道。

第五,从生成的纹理中创建生成一个Sprite2。

     注意:在绘制过程中,CCRenderTexture所创建的矩形相当于一个坐标系L,左下角的坐标为(0,0),向右和向上越来越大。Sprite1设置坐标是以这个L作为坐标系的。

切取图片的一部分(利用CCRenderTexture)的更多相关文章

  1. 两种方法实现用CSS切割图片只取图片中一部分

    切割图片这里不是真正的切割,只是用CSS取图片中的一部分而已,主要有两种方式,一是做为某一元素的背景图片,二是用img元素的属性.下面有个不错的示例,大家可以参考下 切割图片这里不是真正的切割,只是用 ...

  2. 学习笔记2:前端PS切图

    前端PS切图 一.Photoshop的界面设置 二.Photoshop的基本操作 三.Photoshop的传统切图 四.Photoshop的精准切图 五.Photoshop的扩展知识 视频学习:htt ...

  3. 利用Lucene与Nutch构建简单的全文搜索引擎

    文章地址 1.简介 本次实现分为两个部分,第一个部分是利用Lucene构建一个全文的搜索引擎,另外一部分则是利用Nutch实现同样的功能.由于Lucene并不是一个可以直接运行的程序,且不具备爬虫和文 ...

  4. PS:切图

    1.从psd中获取资源 2.基本了解 3.简单的图片操作和调整 4.对自己的审美提高一.界面设置: 1.新建设置:ctr+n; 预设:Web,大小Web(1920*1080) 背景:透明 2.移动工具 ...

  5. Redis利用,攻击内网(ssrf)

    Redis语法 REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统. Redis是一个开源的使用ANSI C ...

  6. 【CSS进阶】CSS 颜色体系详解

    说到 CSS 颜色,相比大家都不会陌生,本文是我个人对 CSS 颜色体系的一个系统总结与学习,分享给大家. 先用一张图直观的感受一下与 CSS 颜色相关大概覆盖了哪些内容. 接下来的行文内容大概会按照 ...

  7. 面向侧面的程序设计AOP-------《三》.Net平台AOP技术概览

    本文转载自张逸:晴窗笔记 .Net平台与Java平台相比,由于它至今在服务端仍不具备与unix系统的兼容性,也不具备类似于Java平台下J2EE这样的企业级容器,使得.Net平台在大型的企业级应用上, ...

  8. Python3学习笔记十三

    1.   css 老师的博客:http://www.cnblogs.com/yuanchenqi/articles/6856399.html 选择器:找到想要改变的标签 css的功能:渲染和布局 2. ...

  9. 小甲鱼Python笔记(上)

    基于Python 3.4.3 一 二 三 四  基础 print 三版必须加括号,二版不用加 alt + n :上一条语句 alt + p :下一条语句 打印三条hello 没有大括号,用缩进来表示 ...

随机推荐

  1. RequireJS入门(三)转

    这篇来写一个具有依赖的事件模块event.event提供三个方法bind.unbind.trigger来管理DOM元素事件. event依赖于cache模块,cache模块类似于jQuery的$.da ...

  2. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.6. 安装Oracle所依赖的必要包

    2.6. 安装Oracle所依赖的必要包 2.6.1. 检查Oracle所依赖的必要rpm包 [root@localhost /]#rpm -q binutils compat-libstdc elf ...

  3. 实用js+css多级树形展开效果导航菜单

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. JDK 1.6 下载 地址

    JDK1.6官方下载_JDK6官方下载地址: http://www.java.net/download/jdk6/6u10/promoted/b32/binaries/jdk-6u10-rc2-bin ...

  5. 有关loading share object file libjvm.so: xxxxx 的那些问题

    今天在跑一个有关postgresql产品的测试,要测试postgresql的有关Mirroring Controller的功能. 在执行mc_ctl命令的时候,报错:error while loadi ...

  6. java读取目录下所有csv文件数据,存入三维数组并返回

    package dwzx.com.get; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; ...

  7. 正则 提取html标签value

    using System.Text.RegularExpressions; //step2: extract expected info //<h1 class="h1user&quo ...

  8. 先声明再定义的必要性 .xml

    pre{ line-height:1; color:#9f1d66; background-color:#cfe4e4; font-size:16px;}.sysFunc{color:#5d57ff; ...

  9. 【LeetCode】217 & 219 - Contains Duplicate & Contains Duplicate II

     217 - Contains Duplicate Given an array of integers, find if the array contains any duplicates. You ...

  10. ps 图片提取线稿方法2种 转