Воспитание видеоклипов 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".