PIXI Проверьте, добавлен ли DisplayObject на сцену или удален - PullRequest
1 голос
/ 03 мая 2019

В PIXI есть способ узнать, добавлен или удален DisplayObject со сцены.Мне известны события «добавлено» и «удалено», но они запускаются, только если непосредственный DisplayObject добавлен или удален из его родителя, но не рекурсивно для всех его родителей.

Мне это нужновключать и выключать dom-элементы в зависимости от видимости всего DisplayObject.

Любые советы или указатели по этому поводу приветствуются!

1 Ответ

0 голосов
/ 07 июня 2019

Я закончил проверять привязку к сцене и видимость вручную с интервалом.Преимущество состоит в том, что теперь также довольно легко вычислить общую альфу, если мне это когда-нибудь понадобится.

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, но оно выполнит свою работу:)

Если у кого-то есть лучшее предложение, не стесняйтесь отправлять новый ответ!

...