Родительские элементы видеоклипов ActionScript 3

#arrays #actionscript-3 #mouseevent #movieclip

#массивы #actionscript-3 #mouseevent #movieclip

Вопрос:

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

Спасибо, что уделили мне время

Комментарии:

1. просматривая ваши последние 7 вопросов, я чувствую, что у меня достаточно информации, чтобы просто создать приложение, которое вы пытаетесь создать, и предоставить его вам… Какой код вы пробовали до сих пор самостоятельно для достижения этой цели?

2. :)) я хочу создать игру-головоломку только для того, чтобы улучшить свои знания в AS3, потому что я начал изучать AS3 4 недели назад. Я должен сделать родительское и игровое решение таким, как когда все части головоломки расположены в правильном порядке, чем должно отображаться изображение отверстия. вы можете мне помочь? Спасибо

Ответ №1:

Если все ваши MC находятся в одном контейнере, то есть в другом видеоролике / спрайте, вы можете либо обновить дочерний индекс «щелкнутого 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».

Комментарии:

1. Кроме того, в вашем случае «контейнером» будет «этап». Я бы рекомендовал поместить их в другой видеоролик или спрайт и добавить этот контейнер на сцену. Таким образом, вы можете добавлять другие элементы на сцену и просто сосредоточиться на MCS в контейнере.

2. очень приятно работает! можете ли вы объяснить мне, как удалить родительское управление?

3. Что вы подразумеваете под «удалить родительские элементы»? Нет способа удалить родительский элемент. Вы можете удалить только дочерние элементы. Метод ‘removeChild’ установит для свойства ‘parent’ значение ‘null’.

4. о, да, я имею в виду removeChild извините, все работает правильно. Я просто хотел спросить, есть ли такой метод, как removeChild. спасибо за вашу помощь

5. знаете ли вы, как применить к каждому mc номер, чтобы, когда они расположены в правильном порядке в моей сетке, что-то отображалось как исходное изображение, которое использовалось для благодарности mc