PIXI检查DisplayObject是添加到舞台还是从舞台删除

时间:2019-05-03 08:18:37

标签: dom pixi.js

在PIXI中,有一种方法可以知道DisplayObject是添加到舞台还是从舞台移除。我知道“添加”和“删除”事件,但是它们仅在将直接DisplayObject添加到其父对象或从其父对象移除时触发,而不是对其所有父对象递归地触发。

我需要它根据整个DisplayObject的可见性来打开或关闭dom元素。

欢迎提出任何建议或建议!

1 个答案:

答案 0 :(得分:0)

我最终每隔一段时间检查一下舞台附件和可见性。优点是,如果我需要的话,现在也很容易计算总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解决方案,但是它可以完成工作:)

如果有人有更好的建议,请随时发布新答案!