码迷,mamicode.com
首页 > 其他好文 > 详细

将gif图片解析为cocos2d-x帧动画

时间:2015-03-31 10:30:56      阅读:1188      评论:0      收藏:0      [点我收藏+]

标签:

        因为游戏项目需要能够直接播放gif格式的图片,但是cocos2d-x本身并没有提供这方面的功能。在网上查阅发现已经有人给出了一种实现,但是并不能够完全满足我的需求。而且存在一些问题,如不能跨平台,频繁加载时导致内存用尽。后来参考其源码作出了一些修改,使gif图片转换为帧动画方便我使用。

        现在已经优化了内存分配问题并且支持跨平台了,支持cocos2d-x3.0以上版本。

技术分享

下面是使用例子:

// 动画定义
GifAnimationDef def;
def.loops = -1;			  // 循环次数
def.filePath = "g1.gif";	  // 文件路径
def.delayPerUnit = 0.1f;	  // 每帧间隔
def.restoreOriginalFrame = false; // 还原初始状态
 
// 创建动画
auto pAnimation = GifAnimation::getInstance()->createAnimation(def);
 
// 创建精灵播放动画
auto sp = Sprite::create();
sp->setPosition(Vec2(480, 320));
addChild(sp);
sp->runAction(Animate::create(pAnimation));

        使用上非常简单,只需要定义一个结构体,设置动画的属性。然后作为参数传入createAnimation函数即可,返回值为Animation *,也就是cocos2d-x 的帧动画。由于解析时需要占用大量内存,手机上尽量使用分辨率较小的gif图片为好。


源码下载:http://pan.baidu.com/s/1i3msPLz

将gif图片解析为cocos2d-x帧动画

标签:

原文地址:http://www.cnblogs.com/jiushichenan/p/4379958.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!