Flex: приоритет DisplayObject (т.е. перекрывающиеся спрайты) - PullRequest
0 голосов
/ 15 декабря 2009

Мне не удалось найти ответ на этот вопрос, и я надеюсь, что есть простой и очевидный ответ, которого я просто еще не нашел ...

Внутри flex (то есть с использованием actionscript и mxml) для двух спрайтов существует ли способ заставить один отображаться поверх другого, когда они перекрываются?

Спасибо!

Ответы [ 2 ]

3 голосов
/ 15 декабря 2009

Да, все зависит от того, где они находятся в списке отображения.

, поэтому в этом примере клип 2 находится сверху

var container : Sprite = new Sprite();
var clip1 : Sprite = new Sprite();
var clip2 : Sprite = new Sprite();

container.addChild(clip1);
container.addChild(clip2);

и в этом примере клип 1 находится сверху

var container : Sprite = new Sprite();
var clip1 : Sprite = new Sprite();
var clip2 : Sprite = new Sprite();

container.addChild(clip2);
container.addChild(clip1);

Просто подумайте об этом как о большой старой стопке карт. Возьмите один из середины и поместите его сверху, и это тот, который вы увидите.

0 голосов
/ 15 декабря 2009

Предположение: оба объекта лежат либо на сцене вместе, либо внутри одного объекта DisplayObject.

private function checkOverlap(obj1:Sprite, obj2:Sprite):void {
    //Forces obj1 to appear on top of obj2
    if (obj1.parent.getChildIndex(obj1) < obj2.parent.getChildIndex(obj2)) {
        obj1.parent.swapChildren(obj1, obj2);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...