/* * @Author: dgflash * @Date: 2022-08-04 15:08:35 * @LastEditors: dgflash * @LastEditTime: 2022-08-04 15:26:26 */ import { Color, Component, EventTouch, sp, Vec3, _decorator } from "cc"; import { LayerUtil } from "../../../../extensions/oops-plugin-framework/assets/core/utils/LayerUtil"; import { smc } from "../common/SingletonModuleComp"; import RoleSpineAnimator from "./RoleSpineAnimator"; const { ccclass, property } = _decorator; /** * RPG SPINE角色模型 */ @ccclass('RoleSpine') export class RoleSpine extends Component { @property({ type: RoleSpineAnimator, tooltip: '动画控制器' }) animator: RoleSpineAnimator = null!; private spine!: sp.Skeleton; onLoad() { // 角色控制组件 this.initAnimator(); LayerUtil.setNodeLayer(LayerUtil.MAP, this.node); } /** 初始化动画 */ protected initAnimator() { this.spine = this.animator.getComponent(sp.Skeleton)!; } setSkin(value: string): void { console.log("RoleSpine setSkin", value); this.spine.setSkin(value); } play(animName: string, loop: boolean): void { this.spine.setAnimation(0, animName, loop); } setAlpha(value: number): void { var color: Color = this.spine.color; color.a = 255 * (value / 1); this.spine.color = color; } setPos(value: Vec3): void { this.node.position = value; } checkTouch(event: EventTouch): boolean { return false; } onDestroy() { this.node.destroy(); } walk() { } idle() { } }