# LayaSpine **Repository Path**: wt921134467/laya-spine ## Basic Information - **Project Name**: LayaSpine - **Description**: laya的spine适配库 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-09-23 - **Last Updated**: 2021-06-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 概述 - 使用layaspine代替原ani/bone中原来的实现,以支持spine更多的特性 - Templet -> SpineTemplet - Skeleton -> SpineSkeleton ### 参数不同的API - new SpineTemplet(layaPremultipliedAlpha?:boolean,spinePremultipliedAlpha?:boolean) - 1) 第一个参数为LayaAir引擎解析时是否需要预乘alpha,默认为true - 2) 第二个参数为spine-core执行时是否需要预乘alpha,默认为false - 如果部分spine动画显示效果不对,可以调整这两个参数 - SpineTemplet.prototype.loadAni(jsonUrl:string,textureUrlList?:Array) - 1) 原接口传入".sk"后缀的骨骼文件路径,这里修改为传入".json"文件路径 - 2) 第二个参数默认不传即可,但如果有多张纹理贴图,则必须传入 - SpineTemplet.prototype.buildArmature() - 原接口传入aniMode,新的接口不再接受参数,使用spine-core.js中的解析 ### 原player下的API - SpineSkeleton.prototype.player.currentTime => SpineSkeleton.prototype.currentTime - SpineSkeleton.prototype.player.state => SpineSkeleton.prototype.playState ### 新增API ``` /** * 添加一个动画 * @param trackIndex 轨道索引 * @param nameOrIndex 动画名字或者索引 * @param loop 是否循环播放 * @param delay 延迟调用,可以为负数 */ ``` - SpineSkeleton.prototype.addAnimation(trackIndex:number,nameOrIndex:any,loop?:boolean,delay?:number):void; ``` /** * 设置当动画被改变时,存储混合(交叉淡出)的持续时间 * @param fromNameOrIndex * @param toNameOrIndex * @param duration */ ``` - SpineSkeleton.prototype.setMix(fromNameOrIndex:any,toNameOrIndex:any,duration:number):void; /** * 获取骨骼信息(spine.Bone) * 注意: 获取到的是spine运行时的骨骼信息(spine.Bone),不适用引擎的方法 * @param boneName */ - SpineSkeleton.prototype.getBoneByName(boneName:any):spine.Bone; /** * 获取Skeleton(spine.Skeleton) */ - SpineSkeleton.prototype.getSkeleton():spine.Skeleton; /** * 替换插槽皮肤 * @param slotName * @param attachmentName */ - SpineSkeleton.prototype.setSlotAttachment(slotName:any,attachmentName:any):void;