加载远程资源方法
export function loadRemote(path: string): Promise<any> {
return new Promise<any>((resolve, reject) => {
cc.assetManager.loadRemote(path, (error, asset) => {
if (error) reject(error);
resolve(asset);
});
});
}
加载远程spine骨骼动画例子
let moleSpineRes =
GlobalVariable.config.pokeMoleGameConfig.sceneElement.mainElement
.moleSpine.asset;
let moleSpineAsset: string[] = [
moleSpineRes.atlasSrc,
moleSpineRes.jsonSrc,
moleSpineRes.imageSrc,
];
let moleSpineData: any[] = [];
try {
moleSpineData = await Promise.all(
moleSpineAsset.map((v) => loadRemote(v))
);
} catch (error) {
throw new Error(`自定义地鼠骨骼动画加载失败:${error}`);
}
let moleSpineArray: sp.Skeleton[] = cc
.find("Canvas/pokemole.main")
.getComponentsInChildren(sp.Skeleton)
.filter((v) => ["Mouse"].includes(v.node.name));
moleSpineArray.forEach((v) => {
v.skeletonData.atlasText = moleSpineData[0].text;
v.skeletonData.skeletonJson = moleSpineData[1].json;
v.skeletonData.textures = [moleSpineData[2]];
});