cocos2dx 播放gif

本文介绍如何在Cocos2dx中使用第三方平台提供的GIF头像作为游戏资源,通过参考Skia库的GIF解析方式,实现了一个名为gifforcocos2dx的库。文中提供了两种不同的GIF加载方式:即时播放与缓存加载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

起因

或许有人会说,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)

转载于:https://www.cnblogs.com/boliu/p/4048096.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值