2014-02-11 3 views
0

Я делаю игру в As3.«это» всегда сверху, когда видимо

У меня есть ребенок по имени «духи». Это называется в моем классе двигателей в начале игры, как это:

batiments = new Batiments(stage); 
    addChild(batiments); 
    batiments.visible = false; 

Таким образом, когда игрок нажимает на кнопку на сцене, это вызов этой функции:

private function showBatiments():void{ 
     Engine.batiments.visible = true; 
    } 

НО , во время моей игры другие дети называют случайным образом каждые 2 минуты. Как что:

public function apparitionDechet(event : TimerEvent):void{ 
    var mc:DisplayObject = new _classes[Math.floor(Math.random() * _classes.length)](); 
    _movieClips.push(mc); 
    stageRef.addChild(mc); 
    mc.addEventListener(MouseEvent.CLICK, removePoubelle, false, 0, true); 

Проблема: Когда функция «showBatiments» называется и BATIMENTS видима, тс ребенок находятся на вершине. Можно ли включить в мой код что-то сказать, что батники всегда должны быть над всем?

У меня есть класс Engine.as (где добавлены добавления). У меня есть класс Batiments.as (так что у баталий есть собственный класс). У меня есть класс Dechet.as (где mc-ребенок добавляется случайным образом).

Спасибо за вашу помощь,

ответ

0

Вы должны использовать addChildAt(target, index) как так,

stageRef.addChildAt(mc, 0); 
stageRef.addChildAt(batiments, 1); 

При условии, что stageRef доступен в классе двигателей.

Для получения дополнительной информации см. addChildAt

+0

Отлично! Спасибо ! – user2421975

0

Одним из возможных решений является разделить его на 2 слоя.
Один для «BATIMENTS» поверх другой, который держит «эмси

Смежные вопросы