DragonBones龍骨骨骼中的自定義事件(另有聲音、動畫事件)


參考:

DragonBones骨骼動畫事件系統詳解

 

一、在DragonBones中添加自定義事件幀

動畫制作時

時間軸拉到最下面有一個事件層,添加一個事件幀

左邊屬性面板定義自定義事件

 

二、Egret中監聽事件

新建一個測試用骨骼動畫test

//新建測試用骨骼動畫
let armatureDisplay:dragonBones.EgretArmatureDisplay;
let factory = dragonBones.EgretFactory.factory;
factory.parseDragonBonesData(RES.getRes("test_ske_dbbin"));
factory.parseTextureAtlasData(RES.getRes("test_tex_json"), RES.getRes("test_tex_png"));
armatureDisplay = factory.buildArmatureDisplay("test");
armatureDisplay.animation.play("testAction");
//監聽幀事件
armatureDisplay.addEvent(dragonBones.EgretEvent.FRAME_EVENT, this.onFrameEvent, this);

  

 

//處理幀事件
public onFrameEvent(e:dragonBones.FrameEvent){
	if(e.frameLabel == "push_complete"){
	  console.log("AAAAAA:", e.frameLabel);
	}
}

 

輸出

 

  

三、聲音事件

 

 

監聽聲音事件,聲音事件並不需要像自定義事件一樣使用armatureDisplay來監聽。

dragonBones.SoundEventManager.getInstance().addEventListener( dragonBones.SoundEvent.SOUND, this.sound_event,this);

 

聲音事件處理  

private sound_event(evt:dragonBones.SoundEvent)
{
    console.log( "armature 要播放聲音啦!聲音的值為:",evt.sound);
}

 

輸出:

 

四、添加動畫控制

 

 

 這個貌似沒有事件監聽,只是播放到該幀時,跳轉播放另一個動畫。你可以在這里選擇跳轉到哪個動畫。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM