import { _decorator, Animation, Collider2D, Component, Node, RigidBody2D, sp } from 'cc'; import { SkillCom } from './SkillCom'; import { BoxSet } from '../common/config/BoxSet'; import { Hero } from '../hero/Hero'; const { ccclass, property } = _decorator; @ccclass('EndAnmBomCom') export class EndAnmBomCom extends Component { time:number = 0 base:SkillCom = null collider:Collider2D = null is_complete:boolean = false start() { this.base =this.node.getComponent(SkillCom) this.collider = this.getComponent(Collider2D); // this.collider.enabled = false // if(this.base.box_group ==BoxSet.HERO) this.collider.group = BoxSet.MONSTER // if(this.base.box_group ==BoxSet.MONSTER) this.collider.group = BoxSet.HERO if(this.node.getComponent(Animation)){ let anim = this.node.getComponent(Animation); console.log("has anim",anim) anim.on(Animation.EventType.FINISHED, this.onAnimationFinished, this); } if(this.node.getChildByName('anm')){ if(this.node.getChildByName('anm').getComponent('sp.Skeleton')){ var spine = this.node.getChildByName('anm').getComponent('sp.Skeleton') as sp.Skeleton; console.log("has spine",spine) spine.setCompleteListener((trackEntry) => { this.onAnimationFinished() console.log("[track %s][animation %s] complete: %s", trackEntry.trackIndex); }); // spine.setEventListener((trackEntry, event:any) => { // this.onEnvent(event) // // console.log("[track %s][animation %s] event: %s", trackEntry.trackIndex, event.data.name, event.intValue); // }); } } } onAnimationFinished(){ // if(!this.is_complete){ // // this.collider.group = this.base.box_group // // this.node.active=false // // this.node.active=true // this.rigid.wakeUp() // // this.collider.enabled = true // console.log("动画结束,开始伤害") // } // this.collider.enabled = true console.log("动画结束,开始伤害") this.base.is_destroy = true } onEnvent(event:any){ if(event.data.name == "atk_event"){ // this.collider.group = this.base.box_group // this.node.active=false // this.node.active=true // this.collider.enabled = true console.log("onEnvent,开始伤害",event) this.is_complete=true } } }