Cocos2d-x 之贴图 Texture2D
来源:互联网 发布:北京数据恢复培训 编辑:程序博客网 时间:2024/05/25 19:56
Texture2D
上一节我们介绍了cocos2d-x中的精灵对象sprite,这一节我们再介绍一下另一个跟显示有很大关系的对象,贴图对象Texture2D。
Texture2D有四种创建方式,从精灵对象得到贴图,从精灵帧对象得到贴图,从贴图缓冲区得到贴图和异步加载贴图,下面分别介绍。
从精灵对象得到贴图
//从精灵中得到2D贴图 auto sp = Sprite::create("girl.png"); auto texture=sp->getTexture(); auto sprite = Sprite::createWithTexture(texture);
从精灵帧对象得到贴图
//从精灵帧中得到2D贴图 //这种方式得到的贴图是一张包含多个精灵的完整贴图 SpriteFrameCache::getInstance()->addSpriteFramesWithFile("start.plist"); auto frame = SpriteFrameCache::getInstance()->getSpriteFrameByName("start1.png"); auto texture = frame->getTexture(); //得到精灵在贴图中的位置大小 auto rect = frame->getRect(); auto sprite = Sprite::createWithTexture(texture, rect);
从贴图缓冲区得到贴图
使用这种方式得到贴图得先将加载缓冲到贴图缓冲区。
//从图片缓冲区中获取2D贴图 //首先得先把图片加载到缓冲区 //第一种方式 /*auto texture = TextureCache::getInstance()->addImage("girl.png"); log(TextureCache::getInstance()->getTextureFilePath(texture).c_str());*/ //第二种方式 Image* img=new Image(); img->initWithImageFile("girl.png"); TextureCache::getInstance()->addImage(img, "girl"); auto texture = TextureCache::getInstance()->getTextureForKey("girl"); auto sprite = Sprite::createWithTexture(texture);
异步加载图片
//异步加载图片 auto sprite = Sprite::create(); TextureCache::getInstance()->addImageAsync("girl.png", [sprite,visibleSize,this](Texture2D* tt){ //设置完贴图后要手动设置贴图的大小 sprite->setTexture(tt); sprite->setTextureRect(Rect(Vec2::ZERO, tt->getContentSize())); log("%s", tt->getPath().c_str()); log("%f,%f", tt->getContentSize().width, sprite->getContentSize().width); });
阅读全文
0 0
- Cocos2d-x之贴图Texture2D
- Cocos2d-x 之贴图 Texture2D
- Cocos2d-x 精灵贴图
- Cocos2d-x 背景重复贴图
- cocos2D-X源码分析之从cocos2D-X学习OpenGL(12)----立方体贴图和天空盒
- 五 手游开发神器 cocos2d-x editor 之贴图(TexturePacker)
- cocos2d-x图片优化之小图重复贴图渲染背景
- 在Unity3D中旋转Texture2D贴图
- cocos2d-x简单动画:处理Texture2D和plist文件处理动画<代码演示>
- cocos2d-x中Texture2D::TexParams(图片平铺)一张图片铺满全屏做背景
- 【Cocos2d-X开发学习笔记】第27期:游戏背景之贴图地图类(CCTileMapAtlas)的使用
- [cocos2d-x]用CCSpriteBatchNode进行文理贴图的优化
- cocos2d-x学习笔记02——精灵贴图
- cocos2d-X之CCUserDefault
- Cocos2d-x之CCSpriteFrameCache
- Cocos2d-x 之CCAction
- Cocos2d-x 之CCTableView
- cocos2d-x之ActionRepeatForever
- CPU指令解析
- github用gitbash上传代码
- 哈希算法
- python if __name__=='__main__'教程及原理
- php中textarea文本框输入内容回车换行('\n')的处理方法
- Cocos2d-x 之贴图 Texture2D
- UE4 UMG 动画
- 集成测试单元测试.系统测试,的联系和区别
- 基于邻接表的图的各种遍历
- cf round424 A.Unimodal Array
- linux 启动流程图
- navicat cannot create file解决方法
- 语义分割--LinkNet: Exploiting Encoder Representations for Efficient Semantic Segmentation
- shell脚本命令代换