在PIXI中,有一种方法可以知道DisplayObject是添加到舞台还是从舞台移除。我知道“添加”和“删除”事件,但是它们仅在将直接DisplayObject添加到其父对象或从其父对象移除时触发,而不是对其所有父对象递归地触发。
我需要它根据整个DisplayObject的可见性来打开或关闭dom元素。
欢迎提出任何建议或建议!
答案 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解决方案,但是它可以完成工作:)
如果有人有更好的建议,请随时发布新答案!