zoukankan      html  css  js  c++  java
  • cocos2dx 播放gif

    起因

    或许有人会说,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一样使用
    

    github代码地址


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

  • 相关阅读:
    51Nod1119
    stoi
    坑爹大质数
    USACO07OPEN Cheapest Palindrome
    USACO08NOV Mixed Up Cows
    USACO12FEB Nearby Cows
    SCOI2009 粉刷匠
    USACO16OPEN 248
    POI2014 PTA-Little Bird
    USACO17FEB Why Did the Cow Cross the Road I G
  • 原文地址:https://www.cnblogs.com/boliu/p/4048096.html
Copyright © 2011-2022 走看看