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

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

设置骨骼动画的属性,DragonAltasAsset图片,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);
});
替换皮肤
//加载资源
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);
});
以上就是CocosCreator骨骼动画之龙骨DragonBones的详细内容,更多关于CocosCreator骨骼DragonBones的资料请关注其它相关文章!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

评论(0)