【换装】动态换装的问题求助

我想实现的功能是通过手动绘图截图生成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');
        });

    },

有同样的需求,帮顶!

同样需求,研究了好几天,没什么思路。。。。

同样的需求,帮顶