me墨黑 2019-04-24 18:49 采纳率: 0%
浏览 289

骨骼动画的坑有解决的吗?

请问cocos creator 的骨骼监听是什么鬼东西,中途关闭节点活动,后面开启来开始就取消骨骼监听,照理说那玩意会马上取消所有接下去的事件,但事件情况骨骼监听还是纯在。

相关参数:
1.监听事件dragonBones.EventObject.COMPLETE,
2.移除监听函数对应组件dragonBones.ArmatureDisplay.removeEventListener(dragonBones.EventObject.COMPLETE);

  • 写回答

1条回答 默认 最新

  • 宇珩前端记录 2024-06-07 16:25
    关注

    解决方案

    为了确保在关闭节点活动时正确移除事件监听,并在重新开启节点活动时重新添加事件监听,可以按照以下步骤进行操作。

    1. 添加事件监听

    在需要监听事件的组件中,添加事件监听:

    const armatureDisplay = this.node.getComponent(dragonBones.ArmatureDisplay);
    armatureDisplay.addEventListener(dragonBones.EventObject.COMPLETE, this.onAnimationComplete, this);```
    ### 2. 移除事件监听
    在组件被禁用时,确保移除事件监听:
    ```javascript
    onDisable() {
        const armatureDisplay = this.node.getComponent(dragonBones.ArmatureDisplay);
        armatureDisplay.removeEventListener(dragonBones.EventObject.COMPLETE, this.onAnimationComplete, this);
    }
    

    3. 重新添加事件监听

    在组件被启用时,重新添加事件监听:

    onEnable() {
        const armatureDisplay = this.node.getComponent(dragonBones.ArmatureDisplay);
        armatureDisplay.addEventListener(dragonBones.EventObject.COMPLETE, this.onAnimationComplete, this);
    }
    
    评论

报告相同问题?