骨骼动画学习九:骨骼动画自带的系统事件如何监听
监听龙骨动画的两个事件
dragonBones.EventObject.START
dragonBones.EventObject.LOOP_COMPLETE
代码展示:
private createDragonbonesAnimation(){
// 通过RES模块加载龙骨数据
let dragonbonesData = RES.getRes("Dragon_ske_json");
let dragonbonesTextureData = RES.getRes("Dragon_tex_json");
let dragonebonesTexture = RES.getRes("Dragon_tex_png");
//创建龙骨工厂
let factory:dragonBones.EgretFactory = new dragonBones.EgretFactory();
// 解析龙骨数据
factory.parseDragonBonesData(dragonbonesData);
factory.parseTextureAtlasData(dragonbonesTextureData,dragonebonesTexture);
//创建骨架显示对象
let armatureDisplay:dragonBones.EgretArmatureDisplay = factory.buildArmatureDisplay("Dragon");
armatureDisplay.x = 300;
armatureDisplay.y = 400;
this.addChild(armatureDisplay);
this.addEventListener(egret.TouchEvent.TOUCH_TAP,()=>{
//播放动画
armatureDisplay.animation.play("stand",0);
},this)
// 添加事件侦听
armatureDisplay.armature.eventDispatcher.addDBEventListener(dragonBones.EventObject.START,this.onStart,this);
armatureDisplay.armature.eventDispatcher.addDBEventListener(dragonBones.EventObject.LOOP_COMPLETE,this.onLoopComplete,this);
}
private onStart(evt:dragonBones.EventObject){
console.log("动画开始播放了");
console.log(evt);
}
private count = 0;
private onLoopComplete(){
this.count++;
console.log(this.count,"次循环播放完成");
}

浙公网安备 33010602011771号