关于2.0.9版本下龙骨动画监听回调注册的BUG

  • Creator 版本:2.0.9

  • 目标平台: all

  • 详细报错信息,包含调用堆栈:未报错,但监听回调未能成功注册

  • 重现方式:
    制作了一个简单的测试项目:
    properties: {
    nd_test: cc.Node,
    },

    // LIFE-CYCLE CALLBACKS:

    // onLoad () {},

    start() {
    this.nd_test._armatureDisPlay = this.nd_test.getComponent(dragonBones.ArmatureDisplay);
    this.nd_test._armatureDisPlay.addEventListener(dragonBones.EventObject.COMPLETE, this.fc_asd, this);
    //
    },

    fc_asd: function () {
    console.log(‘监听回调Func’);
    },

    fc_play:function(){
    this.nd_test.active = true; //这里是在编辑器界面的active为false时,显示动画用的
    this.nd_test._armatureDisPlay.playAnimation(‘newAnimation’, 1);

    },

  • 之前哪个版本是正常的 :2.0.6版本正常的项目,到了2.0.9版本下,龙骨动画播放完成后的监听回调全部失效。经反复实验,是2.0.9的龙骨动画想要注册监听回调,必须在编辑器中将节点及父节点的active全部为true。而在代码中,注册时龙骨所在节点的active属性不影响结果。

  • 编辑器操作系统 :windows10

  • 出现概率:100%

  • 额外线索:不论规模大小。需要重现BUG,编辑器里的active的小对勾,选中和未选中对比一下就明白了

已知bug,已在修复当中

问题修复了,详情见PR:
https://github.com/cocos-creator-packages/jsb-adapter/pull/131
会在2.0.10中合并这个修复。

2.0.10已经修复