/* * @Author: dgflash * @Date: 2022-08-04 15:08:35 * @LastEditors: dgflash * @LastEditTime: 2022-08-04 15:26:38 */ import { sp, _decorator ,Component} from "cc"; const { ccclass, property, requireComponent, disallowMultiple } = _decorator; /** * Spine状态机组件(主状态机),trackIndex为0 */ @ccclass @disallowMultiple @requireComponent(sp.Skeleton) export default class HeroSpineAnimator extends Component { private animName: string = "move"; private loop: boolean = true; private spine!: sp.Skeleton; start() { this.spine = this.getComponent(sp.Skeleton)!; // console.log("HeroSpineAnimator start"); this.playAnimation(this.animName, this.loop); } lateUpdate(dt: number) { // } play(animName: string, loop: boolean) { if (animName) { this.animName = animName; this.loop = loop; this.spine.setAnimation(0, this.animName, this.loop); } else { } } /** * 播放动画 * @override * @param animName 动画名 * @param loop 是否循环播放 */ protected playAnimation(animName: string, loop: boolean) { // console.log("HeroSpineAnimator playAnimation"); if (animName) { // console.log("HeroSpineAnimator playAnimation animName", animName); this.animName = animName; this.loop = loop; this.spine.setAnimation(0, this.animName, this.loop); } else { } } }