zoukankan      html  css  js  c++  java
  • Cocos Creator 骨骼动画 (龙骨DragonBones)

    版本2.3.4

    参考:

    cocos教程:DragonBones骨骼动画资源

    龙骨动画

    将龙骨动画放到cocos的assets下。我这里龙骨动画是Dragonbones导出的二进制动画。

    直接拖拽龙骨动画(骨头图标)到舞台

    设置骨骼动画的属性,Dragon Altas Asset图片,Animation动作,PlayTime循环播放等

    代码生成龙骨动画

    龙骨资源路径是assets/resources/dragonbones,loadResDir只需要填dragonbones就行了。

    //根据路径加载资源
    cc.loader.loadResDir("dragonbones",cc.Asset,null,(err, resource)=>{
                console.log("资源:",resource);
                //生成骨骼动画
                let node:cc.Node = new cc.Node();
                let armatureDisplay:dragonBones.ArmatureDisplay = node.addComponent(dragonBones.ArmatureDisplay);
                armatureDisplay.dragonAsset = resource[0];
                armatureDisplay.dragonAtlasAsset = resource[3];
                armatureDisplay.armatureName = "role3";
                armatureDisplay.playAnimation("move",0);
                node.x = 100;
                node.y = 100;
                this.node.addChild(node);
            });
    

      

    动画2替换动画1皮肤

            //加载资源
             cc.loader.loadResDir("dragonbones",cc.Asset,null,(err, resource)=>{
                 console.log("资源:",resource);
    
                //生成动画1
                let node:cc.Node = new cc.Node();
                let armatureDisplay:dragonBones.ArmatureDisplay = node.addComponent(dragonBones.ArmatureDisplay);
                armatureDisplay.dragonAsset = resource[0];
                armatureDisplay.dragonAtlasAsset = resource[3];
                armatureDisplay.armatureName = "role3";
                armatureDisplay.playAnimation("move",0);
                node.x = 100;
                node.y = 100;
                this.node.addChild(node);
    
                //生成动画2
                let node2:cc.Node = new cc.Node();
                let armatureDisplay2:dragonBones.ArmatureDisplay = node2.addComponent(dragonBones.ArmatureDisplay);
                armatureDisplay2.dragonAsset = resource[4];
                armatureDisplay2.dragonAtlasAsset = resource[7];
                armatureDisplay2.armatureName = "role4";
                armatureDisplay2.playAnimation("move",0);
                node2.x = 150;
                node2.y = 150;
                this.node.addChild(node2);
                
    
                //动画2的皮肤应用到动画1上
                let factory = dragonBones.CCFactory.getInstance();
                factory.replaceSkin(armatureDisplay.armature(), (armatureDisplay2.armature() as dragonBones.Armature).armatureData.defaultSkin, true);
            });
    

      

    全局换装

    局部换装

  • 相关阅读:
    chown
    [NOI2010]航空管制
    批量kill 某个用户session
    【BZOJ2395】【Balkan 2011】Timeismoney 最小乘积生成树
    找出 alter system kill session ‘sid,serial#’ kill 掉的数据库会话对应进程
    [NOI2016]优秀的拆分
    Oracle12C查询自建用户(非系统自带)
    查询包含某个字段的表
    [WC2011]最大XOR和路径
    监控慢SQL
  • 原文地址:https://www.cnblogs.com/gamedaybyday/p/13021916.html
Copyright © 2011-2022 走看看