215
Воспроизведение экземпляра-дубликата начинается с кадра 1, даже
если оригинальный клип в момент дублирования находился на другом кадре.
Синтаксис дублирования экземпляра фильма-символа таков:
myClip.duplicateMovieClip(имя, глубина, объект);
Эта строка
ActionScript
начинается с указания имени (с адресацией)
фильма-символа, который следует дублировать, после чего следует
вызов
метода
duplicateMovieClip() объекта
MovieClip
. В результате создается
новый
экземпляр, именем которого будет значение параметра имя, на
глубине глубина. Параметр объект – не обязательный. Пример:
name = "ball2";
depth = 100;
ball.duplicateMovieClip(name, depth);
Эти три строки создают дубликат экземпляра клипа
ball
; экземпляр-
дубликат получает имя ball2 и располагается на глубине 100.
Говоря здесь о глубине ( depth ), мы подразумеваем порядок наложения
экземпляров клипов на монтажном столе. Во Flash, если два экземпляра
клипов перекрываются, верхним будет тот, который имеет большее значение
глубины. Каждый экземпляр фильма-символа
имеет уникальное значение
глубины, определяющее его положение по отношению к другим объектам на
сцене. При дублировании новому экземпляру клипа присваивается значение
глубины – любое положительное число. Чем больше это число, тем выше
"над сценой" будет расположен экземпляр. Вы, возможно, даже не
подозревали, что все
экземпляры фильмов-символов, которые вы помещаете
на монтажный стол в процессе разработки проекта, тоже автоматически
получают глубину, при этом значения глубин начинаются с отрицательного
числа -16384. Это означает, что динамически
созданный экземпляр,
216
помещенный на глубину 1, перекроет все, что было помещено на сцену
вручную.
Каждый монтажный стол в фильме имеет диапазон глубин от -16384 до
1048575, причем все отсчеты глубин ведутся относительно главного
монтажного стола фильма. Иными словами, некий "экземпляр 1"
может
содержать дочерние экземпляры, расположенные на его монтажном столе на
глубинах от -16384 до 1048575. Но если на основном монтажном столе
"экземпляр 1" находится под "экземпляром 2", то всякий, даже самый
верхний дочерний экземпляр "экземпляра 1" окажется ниже самого нижнего
из дочерних экземпляров "экземпляра 2".
На каждой глубине в каждый момент времени может располагаться
только один экземпляр фильма-символа.
Попытавшись дублировать
экземпляр клипа на глубину, где уже имеется другой экземпляр, вы тем
самым уничтожите этот второй экземпляр.
Итак, каждый монтажный стол имеет 1064960 уровней глубины (от -
16384 до 1048575). При этом глубины разных монтажных столов никоим
образом не пересекаются между собой.
Третий параметр метода duplicateMovieClip(),
параметр объект,
необязателен, но отнюдь не бесполезен. Свойства объекта, указанного в
качестве этого параметра, станут элементами данных нового дубликата
клипа.
Если параметр опущен, он игнорируется. Расширим немного
предыдущий пример: