龙骨动画学习三:创建多个龙骨动画

在项目中,一般都是需要创建多个龙骨动画的。那么如何创建多个龙骨动画呢?

一、创建多个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     }

 

posted on 2021-08-25 17:46  谋生的日记本  阅读(425)  评论(0)    收藏  举报

导航