起因
或許有人會說,cocos2dx中直接幀動畫就行了用什么GIF。 起因是為游戲內部要用到第三方平台的頭像,而第三方平台的頭像大多都是用到Gif,所以才會有了這個需求
過程
查了各種文檔都沒找到。但是毋庸置疑的是,大多數解析庫都是依賴gif_lib這個庫的。 偶然間看到了android使用的skia庫的gif解析
參考skia的代碼基礎上,有了后來的gifforcocos2dx 的庫
示例
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一樣使用
轉載請注明出處(http://www.cnblogs.com/boliu/p/4048096.html)