# CCMSpineLoader
experiment 实验性功能
# 概述:
CCMSpineLoader 骨骼动画加载类,动态加载项目中或者远程骨骼动画,也可以通过通用的Loader类来加载不同的资源(如图片,动画)
- 可超时设置
- 可加载本地资源和远程资源
- 可绑定component 生命周期。
方法: 动画加载
/**
* 请求下载网络Spine动画(zip压缩)/或者本地Spine动画(resources 下不压缩) 返回SkeletonData信息
* @param url
* @param options 选项 timeout 超时时间(秒),
* target 依赖的组件cc.Component,若组件已经被销毁,则会返回已销毁异常,需要catch
*/
loadSpine(url: string, options?: SpineLoaderOptions): Promise<sp.SkeletonData>;
# 使用样例
- 加载本地Spine动画
import { Log ,Loader} from '../cocomat-lib/ccm';
Loader.loadSpine('spine/spineboy/spineboy').then(skeletonData => {
if (skeletonData) {
Log.d(TAG, 'set the skeletonData');
this.spineSkeleton.skeletonData = skeletonData;
this.spineSkeleton.setAnimation(0,'run',true);
} else {
Log.d(TAG, 'the skeletonData is null');
}
}).catch((errmsg) => {
Log.d(TAG, 'load error:' + errmsg);
});
- 加载远程Spine,并设置超时
import { Log ,Loader} from '../cocomat-lib/ccm';
Loader.loadSpine('https://wzpan-1253537070.cos.ap-guangzhou.myqcloud.com/misc/spineboy.zip',{timeout: 10}).then(skeletonData => {
if (skeletonData) {
Log.d(TAG, 'set the skeletonData');
this.spineSkeleton.skeletonData = skeletonData;
this.spineSkeleton.setAnimation(0,'shoot',true);
} else {
Log.d(TAG, 'the skeletonData is null');
}
}).catch((errmsg) => {
Log.d(TAG, 'load error:' + errmsg);
});