Воспитание видеоклипов ActionScript 3

У меня есть некоторые mc'ы хранятся в массиве. Я ставлю mc на сцену и хочу, чтобы при нажатии на одну из них она была на переднем плане, а остальные на заднем плане. Как я могу сделать парентиг?

Спасибо за ваше время

1 ответ

Решение

Если все ваши MC находятся в одном контейнере, то есть в другом MovieClip/Sprite, вы можете либо обновить дочерний индекс "clicked mc", либо просто добавить его в контейнер снова.

Это будет ваш обработчик кликов:

function clickHandler(e:MouseEvent):void {
    //addChild puts the target clip on the top of the display list
    e.target.parent.addChild(e.target); 
}

Было бы чище ссылаться на контейнер по имени его экземпляра (например, container.addChild()), а не по e.target.parent. Если вы используете "e.target", убедитесь, что свойство "mouseChildren" в вашем MC имеет значение "false".

Если вы предпочитаете установить дочерний индекс нажатого MC, вы должны сделать что-то вроде этого:

function clickHandler(e:MouseEvent):void {
    // setting the child index to 0 puts the MC at the top of the list
    container.setChildIndex(e.target, 0);
}

Опять же, всякий раз, когда вы используете "e.target", убедитесь, что "mouseChildren" имеет значение false, иначе фокус мыши может фактически щелкнуть по экранным объектам внутри вашего "clicked mc".

Другие вопросы по тегам