骨骼动画学习九:骨骼动画自带的系统事件如何监听

监听龙骨动画的两个事件

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,"次循环播放完成");
        
    }

  

 

 

posted on 2021-08-26 18:36  谋生的日记本  阅读(344)  评论(0)    收藏  举报

导航