Справочник по Flash : ActionScript : Action : duplicateMovieClip - Создать копию клипа
смотрим также
Материал из Справочник Web-языков
duplicateMovieClip
(Глобальная функция)
Эта функция позволяет создать копию существующего клипа
Синтаксис:
duplicateMovieClip(target, newname, depth);
Аргументы:
- target
- Строка, указывающая путь к клипу, который нужно дублировать (называемому также порождающим клипом). Ссылаться на вложенные клипы можно с помощью синтаксиса точки, например, duplicateMovieClip("_root.myClip","myClip2",0). Так как ссылка на клип преобразуется в путь при использовании в строковом контексте, target может также быть ссылкой на объект клипа, как в duplicateMovieClip(myClip, "myClip2", 0).
- newname
- Строка, которая станет именем экземпляра дублируемого клипа. Она должна удовлетворять правилам создания идентификаторов.
- depth
- Целое число, показывающее уровень стека программно создаваемых клипов, на который должен быть помещен продублированный клип. Клипы на более низких уровнях визуально помещаются позади клипов на более высоких уровнях. Клип с самым высоким значением depth в стеке закрывает все клипы, лежащие ниже. Например, клип на depth-1 оказывается за клипом на depth 0, который в свою очередь оказывается за клипом на depth 1. Если назначаемое значение depth уже используется, прежний клип удаляется, а его место занимает новый клип. Отрицательные значения уровней действуют, но официально не поддерживаются ActionScript - для гарантии совместимости с будущими версиями используйте уровни 0 и выше.
Описание:
Создает экземпляр муви-клипа во время проигрывания фильма. Дублирование всегда начинается с кадра номер 1, вне зависимости от того, на каком кадре был клип.
Дублированный клип наследует все преобразования (поворот, масштаб и пр.), применявшиеся к target, но не наследует его переменные временной диаграммы target.
Если удаляется родительский мувик, то дублированный - тоже удаляется. Используйте команду или метод removeMovieClip чтобы удалить экземпляр муви-клипа, созданного командой duplicateMovieClip.
Доступ к глобальной функции duplicateMovieClip() можно осуществить и как к методу клипа, но в таком формате не используется аргумент target.
Примеры:
// Копирует клип ball и дает копии имя ball2 duplicateMovieClip(ball, "ball2", 0); // Перемещает созданный клип ball2, // чтобы его можно было видеть ball2._x += 100;
Следующие строчки множат flower десять раз. Переменная i используется для того, чтобы создать уникальное имя и положить новый мувик на уникальную глубину.
on(release) { amount = 10; // кол-во цветков i = 0; // начальная i. Без нач. значения i дублирование будет неверно while(amount>0) { // цикл, выполн. до тех пор пока значение amount>0 duplicateMovieClip (_root.flower, "mc" + i, i); // сама функция дублирования setProperty("mc" + i, _x, random(275)); // задает случ. положение по x setProperty("mc" + i, _y, random(275)); // задает случ. положение по y setProperty("mc" + i, _alpha, random(275)); // задает случ. значение прозрачности setProperty("mc" + i, _xscale, random(50)); // задает случ. значение масштаба по x setProperty("mc" + i, _yscale, random(50)); // задает случ. значение масштаба по y i = i + 1; // увеличиваем i на 1. Лучше i++; amount = amount-1; // уменьшаем amount на 1. Лучше amount--; } }
Совместимость:
Используется с 4-ой версии Flash