dragonbones slot的 visible 属性在运行中读取错误

  • Creator 版本:2.4.0

  • 目标平台: Web / iOS / Android / 模拟器

  • 详细报错信息,包含调用堆栈:运行时问题.

  • 出现概率:100%


const {ccclass, property, requireComponent} = cc._decorator;

@ccclass
@requireComponent(cc.BoxCollider)
export default class CollisionableSlot extends cc.Component {
    
    private _slot:dragonBones.Slot = null;
    private _colliderBox:cc.BoxCollider = null;
    private _slotVisible:boolean = false;

    public init(slot:dragonBones.Slot) {
        if (slot == null) {
            return;
        }
        this._slot = slot;
        this._slotVisible = slot.visible;
        this._colliderBox = this.getComponent(cc.BoxCollider);
        if (this._colliderBox == null) {
            this._colliderBox = this.addComponent(cc.BoxCollider);
        }
        this._colliderBox.size.width = 100;
        this._colliderBox.size.height = 200;

    }

    update (dt) {
        if (!this._slot) {
            this._colliderBox.enabled = false;
            return;
        }
        //此处读取的visible 状态错误
        const isSlotVisible = this._slot.visible;
        if (this._slotVisible != isSlotVisible) {
            this._colliderBox.enabled = isSlotVisible;
            this._slotVisible = isSlotVisible;
        }
    }
}