龙骨动画学习三:创建多个龙骨动画
在项目中,一般都是需要创建多个龙骨动画的。那么如何创建多个龙骨动画呢?
一、创建多个EgretFactory来管理多个龙骨动画
private addDragonbonesDataToFactory(factory:dragonBones.EgretFactory,ResName:string){ factory.parseDragonBonesData(RES.getRes(ResName+"_ske_json")); factory.parseTextureAtlasData(RES.getRes(ResName+"_tex_json"),RES.getRes(ResName+"_tex_png")); } // 创建多个龙骨动画--- 多个动画工厂 private createDragonbonesAnimations2(){ let factory1:dragonBones.EgretFactory = new dragonBones.EgretFactory(); let factory2:dragonBones.EgretFactory = new dragonBones.EgretFactory(); this.addDragonbonesDataToFactory(factory1,"Dragon"); this.addDragonbonesDataToFactory(factory2,"theElf"); let armatureDisplay1:dragonBones.EgretArmatureDisplay = factory1.buildArmatureDisplay("Dragon"); armatureDisplay1.x = 300; armatureDisplay1.y = 400; this.addChild(armatureDisplay1); armatureDisplay1.animation.play("stand",0); let armatureDisplay2:dragonBones.EgretArmatureDisplay = factory2.buildArmatureDisplay("elf"); armatureDisplay2.x = 500; armatureDisplay2.y = 400; this.addChild(armatureDisplay2); armatureDisplay2.animation.play("run4",0); }
二、创建一个EgretFactory来管理多个龙骨动画 两种方法都可以。
1 // 创建多个龙骨动画--- 同一个动画工厂 2 private createDragonebonesAnimations(){ 3 let factory:dragonBones.EgretFactory = new dragonBones.EgretFactory(); 4 5 this.addDragonbonesDataToFactory(factory,"Dragon"); 6 this.addDragonbonesDataToFactory(factory,"theElf"); 7 8 let Dragon:dragonBones.EgretArmatureDisplay = factory.buildArmatureDisplay("Dragon"); 9 Dragon.x = 200; 10 Dragon.y = 400; 11 this.addChild(Dragon); 12 Dragon.animation.play("stand",0); 13 14 let theElf:dragonBones.EgretArmatureDisplay = factory.buildArmatureDisplay("elf"); 15 theElf.x = 500; 16 theElf.y = 400; 17 this.addChild(theElf); 18 theElf.animation.play("run4",0); 19 20 } 21 22 private addDragonbonesDataToFactory(factory:dragonBones.EgretFactory,ResName:string){ 23 factory.parseDragonBonesData(RES.getRes(ResName+"_ske_json")); 24 factory.parseTextureAtlasData(RES.getRes(ResName+"_tex_json"),RES.getRes(ResName+"_tex_png")); 25 }
浙公网安备 33010602011771号