2.x可以从arraybuffer中加载资源吗

我现在有个需求就是,现在有一个arraybufer,里面存的是一张图片的数据,可以通过什么方式加载成一个Sprite吗

3.x 也需要这么一个功能

我说个思路试试 arraybufer 转成数组,存入本地临时文件 然后加载。。。我没试啊 我只是按普通的思路去想

在什么情况下使用该功能?buffer是在spriteFrame或材质里的

如果你的 buffer 里面是 base64 的图片数据,那么可以参考 CCParticleSystem.js 中的 _initTextureWithDictionary 函数去转化生成你的图片。
另外如果你的 buffer 里面是 rgba 的图片像素数据,那么可以使用 CCTexture2D.js 的 initWithData 函数,去生成 texture。

3.x里面没有这个initwithdata函数啊,怎么弄?


可以参考这个方式去使用

这个arraybuffer 是这么存储的吗?

从引擎源码中可以看出 _data 的类型是 ArrayBufferView

所以你使用 new ArrayBuffer() 应该就行

这个不行啊,类型不一样

试试 new Uint8Array

也不行,崩溃

非常感谢~~

可以再试试 Uint8ClampedArray

尴尬你说的我都试过了

都不行哦,不知道是哪里的问题