cocos2d-x RenderTexture

时间:2023-02-11 18:54:08

转自:http://blog.csdn.net/bill_man/article/details/7250911

1.CCRenderTexture

使用CCRenderTexture的过程总结起来一句话,就是首先用begin方法来开始整个控制,采用节点中(比如CCSprite)的visit方法加入到渲染,最后调用end方法来结束整个控制并渲染。

来看一个使用的例子

//定义一个CCRenderTexture,参数为宽高
m_pTarget = CCRenderTexture::renderTextureWithWidthAndHeight(s.width, s.height); //然后他也必须像节点一样放入到场景或层中
this->addChild(m_pTarget, -); //然后在需要处理渲染管理时开始
m_pTarget->begin(); //然后需要渲染的对象调用vist,但是此时还不渲染
m_pBrush->visit(); //在所有的visit结束后我们再调用CCRenderTexture的end进行真正的画
m_pTarget->end(); //还有一些CCRenderTexture的功能供我们使用,比如清除屏幕中的渲染,如同java的setClip
m_pTarget->clear(CCRANDOM_0_1(), CCRANDOM_0_1(), CCRANDOM_0_1(), CCRANDOM_0_1());//四个参数为我们清屏的颜色的argb值 //另外一个功能就是存储我们的渲染的图片
m_pTarget->saveBuffer(str,kCCImageFormatPNG);//第一个参数是文件的路径,第二个参数分别是JPG(0)或者PNG(1)

2.获得贴图数和大小

CCTextureCache::sharedTextureCache()->dumpCachedTextureInfo();
//可以在控制台中显示贴图数和大小(这里首先我们要把引擎中dumpCachedTextureInfo使用的CCLOG改为CCLog,就可以了)控制台中就显示cocos2d: CCTextureCache dumpDebugInfo: 10 textures, for 308 KB (0.30 MB),就可以获得内存中的贴图数和大小信息。

3.提前载入贴图

在很多游戏中,控制图片的载入和释放,可以使我们的游戏更加流畅,我们使用如下的方法载入图片并且回调load函数,在屏幕上显示载入进度

CCTextureCache::sharedTextureCache()->addImageAsync("Images/HelloWorld.png", this, callfuncO_selector(TextureCacheTest::loadingCallBack));

这样我们再在游戏中使用这张图片的时候就可以更快的获得,整个的使用方法和更新载入进度信息的函数如下

cocos2d-x RenderTexture

cocos2d-x RenderTexture的更多相关文章

  1. ios cocos2d 画线出现闪烁问题

    根据http://www.merowing.info/2012/04/drawing-smooth-lines-with-cocos2d-ios-inspired-by-paper/ 用cocos2d ...

  2. cocos2d中的可见性检测

    游戏的在进行一次渲染的时候,通常会提交大量的渲染对象给gpu.在这些需要渲染的对象中,并不是所有对象都会出现镜头中,即有一部分对象是不可见的. 通常有两种方式来完成不可见对象的剔除工作: (1)直接交 ...

  3. Cocos2d-x3.0 RenderTexture(一) 保存

    .h #include "cocos2d.h" #include "cocos-ext.h" #include "ui/CocosGUI.h&quot ...

  4. RenderTexture动态创建纹理

    CCRenderTexture,它允许你来动态创建纹理,并且可以在游戏中重用这些纹理. 使用 CCRenderTexture非常简单 – 你只需要做以下5步就行了: 创建一个新的CCRenderTex ...

  5. Cocos2d-x3.0 RenderTexture(三)

    .h #include "cocos2d.h" #include "cocos-ext.h" #include "ui/CocosGUI.h&quot ...

  6. 小尝试一下 cocos2d

    好奇 cocos2d 到底是怎样一个框架,正好有个项目需要一个游戏框架,所以稍微了解了一下.小结一下了解到的情况. 基本概念 首先呢,因为 cocos2d 是基于 pyglet 做的,你完全可以直接用 ...

  7. 采用cocos2d-x lua 制作数字滚动效果样例

    require "Cocos2d"require "Cocos2dConstants"local testscene = class("testsce ...

  8. Cocos2d 利用继承Draw方法制作可显示三维数据(宠物三维等)的三角形显示面板

    很久没有写博客了,这段时间比较忙,又是搬家又是做自己的项目,还有太多琐碎的事情缠身,好不容易抽出时间把最近自己做的一些简单例子记录一下. 在我的项目中,我需要一个显示面板来显示游戏中的一个三维数据,例 ...

  9. iPhone开发与cocos2d 经验谈

    转CSDN jilongliang : 首先,对于一个完全没有mac开发经验,甚至从没摸过苹果系统的开发人员来说,首先就是要熟悉apple的那一套开发框架(含开发环境IDE.开发框架uikit,还有开 ...

  10. cocos2d学习记录

    视频 - http://www.manew.com/forum-105-3.html一个论坛帖 - http://www.zhihu.com/question/21114802官网 - http:// ...

随机推荐

  1. docker和shipyard使用问题

    http://blog.csdn.net/cuisongliu/article/details/49178461 Docker启动如果随服务一起启动? docker run -ti -d --rest ...

  2. nginx服务器绑定域名和设置根目录的方法

    nginx服务器绑定域名以及设置根目录非常方便,首先进入nginx安装目录,然后执行 vim conf/nginx.conf 打开nginx的配置文件,找到 server { ..... ..... ...

  3. Pentaho Data Integration笔记 (四):Kitchen

    官方网站: http://wiki.pentaho.com/display/EAI/Kitchen+User+Documentation Kitchen Kitchen是一个可以执行Spoon编辑的J ...

  4. sqlserver 时间 格式化

    0   或   100   (*)     默认值   mon   dd   yyyy   hh:miAM(或   PM)       1   101   美国   mm/dd/yyyy       ...

  5. 如何在sublime中使用sass

    搞了好久,终于把sass搞定了. 最开始,我是想使用koala来实现对sass的实时编译的,但是每当我保存的时候,总是弹出erro错误,即无法编译生成css文件,百度了半天,问了好久,这个问题还是没能 ...

  6. Altium Designer PCB的时候 高亮显示引脚连线

    按住Ctrl ,左击连线,就可以高亮显示两个连接的引脚.

  7. linux命令行总结给自己看的版本

    复制 cp -r /src /dst 查看硬盘容量 df -h 重命名: mv /原来的 /现在的

  8. GrowingIO接入SDK简介

    安装使用文档逐步操作 准备工作: 1.注册一个GrowingIO账号 2.申请一个域名(注意:不能是ip或host) 登陆gio平台: 1.安装SDK 2.根据项目选择对应的sdk:js,安卓,ios ...

  9. docker service ps打印出来的错误信息被截断了怎么办?

      [解决方法] 用Format属性: 这个其实解决不了截断的问题,不过可以显示更少的列,看起来更清楚. Formatting The formatting options (--format) pr ...

  10. BMP、GIF、JPEG、PNG以及其它图片格式简单介绍

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/songjinshi/article/details/37516649 BMP格式 BMP是英文Bit ...