在同目录下文件名相同但后缀不同无法加载的问题(龙骨资源加载)

在2.4.5版本下,想动态加载龙骨资源使用如下方式:
let infos: { type: any, info: Record<string, any> }[] = [];
infos.push({ type: dragonBones.DragonBonesAsset, info: cc.resources.getDirWithPath(path, dragonBones.DragonBonesAsset)[0] });
infos.push({ type: dragonBones.DragonBonesAtlasAsset, info: cc.resources.getDirWithPath(path, dragonBones.DragonBonesAtlasAsset)[0] });

        let loadArr = [];
        let createPromise = (url: string, type: any) => {
            return new Promise<{ url: string, data: cc.Asset }>((resolve: (data: { url: string, data: cc.Asset }) => void) => {
                cc.resources.load(url, type, (error: Error, data: cc.Asset) => {
                    if (error) {
                        resolve(null);
                    } else {
                        let resData = { url, data };
                        resolve(resData);
                    }
                });
            });
        }
        for (let index = 0; index < infos.length; index++) {
            const { type, info } = infos[index];
            if (type === dragonBones.DragonBonesAsset) {
                loadArr.push(createPromise(info.path, dragonBones.DragonBonesAsset));
            } else if (type === dragonBones.DragonBonesAtlasAsset) {
                loadArr.push(createPromise(info.path, cc.Texture2D));
                loadArr.push(createPromise(info.path, cc.JsonAsset));
            }
        }

对于同名的dragonBones.DragonBonesAsset资源只能加载cc.Texture2D资源,而同名的json资源无法加载。请官方、各路大佬们帮帮看看。
或有其它在2.4.5下可用动态加载龙骨资源的方式方法都可以,感谢各位大佬

把同一个龙骨的文件放一个文件夹
用cc.resources.loadDir 读取这个文件夹的文件就行

谢谢,我试试

不知道为啥这个接口读取json文件没问题,但在读取龙骨资源目录时:不报错,但返回的时一个空数组。。。 :rofl:

读错目录了 是文件夹目录

这个API 是读取文件夹下所有文件 你应该是指向了某个文件 应该指向文件夹

我是读取这个文件夹的,所以我试了下我放json目录的文件夹就没问题能读取到所有的文件数据,但是龙骨那个文件夹就不行 :rofl:


image
代码和文件目录如上:

我试了下用 \\ 读不出 要用 /


Error: download failed: assets/resources/import/85/8557f103-dd95-46a8-aa36-459a839bee86.json, status: 404(no response)
报上面的错误

感谢大佬,确实可用。感情是test1的龙骨文件不知道啥时候损坏了,我换了test2就可用了 :joy:

相同的代码在PC模拟器上角色动画是可用动的,在浏览器上却是不动的 :joy:

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