cocos2d-x Sprite精灵对象创建方法
来源:互联网 发布:sql从入门到精通的书籍 编辑:程序博客网 时间:2024/06/02 07:30
Sprite 精灵类
1.精灵对象创建方法
static Sprite * create()
static Sprite * create(const std::string &filename)
static Sprite * create(const::string &filename,const Rect &rect)
2. 创建精灵类对象 例:
1⃣️使用纹理对象创建Sprite对象
背景
auto bk=Sprite::create(“background.png”);
background->setAnchorPoint(Vec2::ZERO);
this->addChild(bk,0);
2⃣️使用纹理图集
需要的各种图片 在一张图上集合 使用时 裁切下来
auto mountain=Sprite::create(“Picture.png”,Rect(2,15,300,300));
mountain->setPosition(Vec2(100,200));
this->addChild(mountain,0);
可以达到性能优化 减少文件读取次数 加速渲染 减少内存消耗
3⃣️使用精灵帧缓存
可以使用Zwoptex 和 TexturePacker工具设计生成纹理图集 ,以及纹理图集的坐标文件(.plist),plist 是属性列表文件,它是一种XML 文件
SpriteFrameCache * fc=SpriteFrameCache::getInstance();// 创建精灵帧缓存对象
fc->addSpriteFramesWithFile(“Picture.plist”);//对象调用addSpriteFramesWithFile()方法给缓存添加.plist
既然上面创建了精灵帧缓存对象,那么怎么用这个缓存来读取里边的SpriteFrame(精灵帧对象)呢 两种方法如下
//创建精灵帧对象获取
SpriteFrame * hero =fc->getSpriteFrameByName(tree.png);
//通过创建Sprite对象获取 不过调用的方法是 createWithSpriteFrameName() 不是create()
auto tree=Sprite::createWithSpriteFrameName(“hero.png”);
[创建精灵帧缓存和添加.plist可以合并为一句]
SpriteFrameCache::getInstance()->addSpriteFramesWithFile(“Picture.plist”);
请注意:精灵帧缓存和精灵帧是两个类 , 创建对象时要分清 。其实精灵帧缓存fc里边缓存的就是精灵帧 如( tree,hero,…….) 这些图片
而精灵帧不再使用后需要移除,函数如下
(1)void removeSpriteFrameByName(const std::string &name); // 从精灵帧缓存中删除一个精灵帧.
(2) void removeSpriteFramesFromFile(const std::string &plist) ;//从一个.plist文件移除多重精灵帧。 存储在这个文件的精灵帧将被删除。 当某个特定的纹理需要被删除时候调用这个方法很方便。
(3) void removeUnusedSpriteFrames();// 移除没用的精灵帧。 保留数为1的精灵帧将被删除。 在开始一个新的场景之后调用这个方法很方便。
(3) void removeSpriteFrames();// 清除载入精灵帧的字典(缓存)。 如果接收到“Memory Warning”,那么需要调用这个方法。 就眼前来说,它将释放一些资源来阻止你的应用崩溃掉。 从中期的角度,它将分配更多的资源。 从长远来说,它将变成相同的。
0 0
- cocos2d-x Sprite精灵对象创建方法
- 【Cocos2d-x】Sprite精灵类-创建Sprite精灵对象
- cocos2d-x 精灵 Sprite
- Cocos2d-x 3.2下精灵Sprite的创建
- Cocos2d-X 精灵(sprite)的添加方法
- cocos2d-x Sprite方法
- cocos2d-x创建精灵
- Cocos2d-x精灵创建
- cocos2d-x创建精灵
- cocos2d-x 创建精灵
- [Cocos2D-x For WP8]Sprite精灵
- Cocos2d-x Lua中Sprite精灵类
- Cocos2d-x之显示精灵Sprite
- Cocos2d-x 之显示精灵 Sprite
- cocos2d之精灵sprite的创建
- Cocos2d-JS中创建Sprite精灵类
- cocos2d-x --- 创建精灵的方法(3.x)
- cocos2d-x创建精灵动画
- 【IOS】无缝桥接
- hdu-1213 How Many Tables
- Juno: 字体缩放
- hdu 1358 Period (kmp扩展)
- 创建型模式之Prototype
- cocos2d-x Sprite精灵对象创建方法
- mapreduce来清洗数据生成RCFile
- UVa 1611 - Crane(构造法)
- hdu 4535 吉哥系列故事——礼尚往来
- iframe 的缓存文件及解决方法以及 jquery deffered.then() 方法的使用
- NFS挂载中遇到的 svc: failed to register lockdv1 RPC service (errno 111).(connection refused)
- get和post请求数据
- 关于 信息熵/信息量/信息论/信息增益
- DDR1时钟的问题