我想实现的功能是通过手动绘图截图生成texture然后替换dragonbones动画的某个插槽的图片。
但是我网上找了好久的资料发现没有这方面的资料,都是预制资源切换插槽来实现的。
翻了ccc的龙骨接口的代码,也找不到突破口。
ccc的版本是2.0+。
谢谢!
start () {
let self = this;
cc.loader.loadResDir('dragonbones', function (err, assets) {
let node = new cc.Node();
self.node.addChild(node);
node.setPosition(cc.v2(200, 200));
let armatureDisplay = node.addComponent(dragonBones.ArmatureDisplay);
for ( let i = 0; i < assets.length; i++ ) {
if (assets[i] instanceof dragonBones.DragonBonesAsset) {
cc.log("load asset")
armatureDisplay.dragonAsset = assets[i];
}
if (assets[i] instanceof dragonBones.DragonBonesAtlasAsset) {
cc.log("load atlas asset", assets[i])
armatureDisplay.dragonAtlasAsset = assets[i];
}
}
armatureDisplay.armatureName = 'Armature';
let _armature = armatureDisplay.armature();
let slot = _armature.getSlot('body');
cc.log(slot);
// slot.display = null;
// slot.display._textureData = null;
cc.loader.loadRes('head', function(err, sf) {
cc.log("load sf:", sf, err);
// _slot.rawDisplayDatas[0].texture = sf;
// _slot._textureData = null;
// _slot.display.node = new dragonBones.Slot(sf);
// _slot.display = new cc.SgNode([sf]);
});
armatureDisplay.playAnimation('newAnimation');
});
},