或許有人會說,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