cocos2dx 播放gif

原由

或许有人会说,cocos2dx中直接帧动画就好了用什么GIF。 原由是为游戏内部要用到第三方平台的头像,而第三方平台的头像大多都是用到Gif,因此才会有了这个需求html

过程

查了各类文档都没找到。可是毋庸置疑的是,大多数解析库都是依赖gif_lib这个库的。 偶然间看到了android使用的skia库的gif解析android

参考skia的代码基础上,有了后来的gifforcocos2dx 的库c++

示例

std::string name = "g2.gif";
name = CCFileUtils::sharedFileUtils()->fullPathForFilename(name.c_str());
GifBase *gif = InstantGif::create(name);//这种方式的会一边播放一边从数据中解析帧
gif->setAnchorPoint(ccp(0,0));
gif->setPosition(ccp(0,0));
this->addChild(gif);

//CacheGif: 这种方式会在开始的时候一次性解析完,并放入缓存中。这种若是gif帧数过多耗时较长,且暂用内存过大。可是相对少的时候,播放要比前一种流畅
gif = CacheGif::create(name);
gif->setPosition(ccp(500,0));
gif->setScale(2);
this->addChild(gif);

//建立出来以后,能够像普通Sprite同样使用

github代码地址git


转载请注明出处(http://www.cnblogs.com/boliu/p/4048096.html)github

相关文章
相关标签/搜索