參考:
一、在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);
}
輸出:

四、添加動畫控制

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

