有个需求,资源 .gif ,cocos creator 怎么播放 gif文件呀

公司需求,资源不能变,有没有什么 API 或者 插件能播放gif,或者有什么思路吗

应该不能吧,要么你导出帧序列图,要么弄成视频格式,

https://github.com/baibai2013/cocos-creator-gifLib
用这个库试试

1赞

mark

我在https://github.com/baibai2013/cocos-creator-gifLib279的基础上做了修改(我打开例子,cocos直接卡死了,所以改了一下问题),支持Creator v2.4.3
https://github.com/2van/cocos-creator-gif

你好大佬,就是用了你修改后的gif库,在模拟器上会报错


能不能帮我看一下?感谢

兄弟,解决了嘛,我也发现了

兄弟,并没有啊,直接放弃了

注册解析这一块改一下就好了

            if (CC_JSB) {
                cc.assetManager.parser.register('.gif', (file, options, onComplete) => {
                    let gif = new GIF();
                    let buffer = jsb.fileUtils.getDataFromFile(file);
                    gif.handle(buffer, onComplete);
                })
            } else {
                cc.assetManager.parser.register('.gif', (file: Blob, options, onComplete) => {
                    let gif = new GIF();
                    file.arrayBuffer().then((buffer) => {
                        gif.handle(buffer, onComplete)
                    }).catch(() => {

                    });
                })
            }
2赞

你好,按你的改完后模拟器是正常了,但是浏览器还是会报错 file.arrayBuffer is not a function

1赞

用PHOTOSHOP打开GIF,是导入了GIF的每一帧,把这些帧导出来作帧动画是我能想到的最省性能的方法

我写了个gif转帧动画的插件,你可以再插件市场看下。

可以实现远程加载gif图片吗

只能1.9版本用?根本装不了啊

https://github.com/newGy/cocos-creator-gif-2.4.4.git
支持2.4.4版本加载本地和网络gif

3赞

mark~~~~

更新了,GIF.ts里面GIFCache初始化的时候,加入了区别原生和web端的处理方法

1赞

感谢大佬,2.4.6亲测可用

动图太大帧太多了后,在解析gif图的时候,进程会卡死几秒钟。有什么办法解决吗