PIXI 检查 DisplayObject 是否添加到舞台或从舞台移除

PIXI Check if DisplayObject is added to or removed from stage

在 PIXI 中有一种方法可以知道 DisplayObject 是添加到舞台还是从舞台移除。我知道 'added' 和 'removed' 事件,但它们仅在直接 DisplayObject 添加到其父项或从其父项中删除但不是递归地用于其所有父项时触发。

我需要这个来根据整体 DisplayObject.

的可见性打开和关闭 dom 元素

欢迎就此提出任何建议或指点!

我最终每隔一段时间手动检查舞台附件和可见性。优点是现在计算总 alpha 也很容易,如果我需要的话。

private _handleInterval():void {
    let addToStage:boolean = false;
    let p:PIXI.DisplayObject = this; // 'this' is an extension of a PIXI.Container
    while (p != null && p.visible) {
        if (p.parent === this.stage) {
            addToStage = true;
            break;
        }
        p = p.parent;
    }
}

不是最优雅的解决方案,因为我更喜欢纯 Pixi 解决方案,但它完成了工作:)

如果有人有更好的建议,欢迎post一个新的答案!