求助 一个帧动画 和 cc.resources.loadDir 构建打包后的问题

我用 cc.resources.loadDir 读取一个文件夹的 文件

然后 用代码写了个帧动画 从[0] 到 length 显示…

在预览时 运行正常

构建打包后… 图片文件顺序 就变了…动画就乱了

不知大家有什么 比较好的 解决方案

你在 load 的回调里给资源 sort 一下,这样数组顺序就是你想要的了,可以利用一下 asset 的 _name 属性

嗯嗯…是个方法 我现在用的是 for 循环 然后赋值到 数组

还有…问一下 cc.resources.loadDir 得到的是一个
对象数组 [ {},{},{}]
怎么用sort 给他们排序啊?

我现在用的是for 然后 重新赋值…这样会带来不必要的开销…等于是重建了一个数组

cc.resources.loadDir(‘dir’, cc.SpriteFrame, (err, frames) => {
frames.sort((a, b) => {
return a._name - b._name;
})
//这里的 frames 就是你之前想要的
})

这里的_name是字符串,上面直接做减法了,需要你的文件名是可以直接转成数字的字符串,这样才能直接减,如果是’a_2’,‘a_0’,'a_1’这样的不是能成功排序的,如果不想改名字,就要把字符串里的非数字去掉

感谢哦… :wink:

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。