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

相關文章
相關標籤/搜索