Интересная особенность клипов Flash состоит в том, что они могут обрабатывать события кнопки. Для этого достаточно привязать к клипу "кнопочный" обработчик события, код которого показан ниже:
on(press) {
stop () ;
}
И клип будет вести себя как кнопка.
Полный список событий, поддерживаемых кнопками Flash, будет приведен далее в этой главе.
Управление клипами
А теперь рассмотрим средства, предоставляемые Flash для управления клипами, находящимися на рабочем листе.
Создание новых клипов
Flash предоставляет возможность создавать экземпляры-клипы на основе имеющихся в библиотеке образцов, дублировать уже созданные на рабочем листе клипы и даже создавать абсолютно новые клипы, не основанные на имеющихся в библиотеке образцах. Давайте выясним, как все это реализовано.
Дублирование существующего клипа Проще всего, конечно, создать новый клип, продублировав уже имеющийся на рабочем листе, вместе с его графикой, анимацией и сценариями. Для этого используется действие dupiicateMovieciip. Формат его вызова таков:
duplicateMovieClip(<Дублируемый клип>, "<Имя создаваемого клипа>",
'Ь<Порядок перекрытия нового клипа>); С первым параметром передается путь исходного клипа, который нужно продублировать. Со вторым параметром передается имя вновь создаваемого клипа; оно должно иметь строковый тип и быть уникальным. Последний, третий, параметр определяет порядок перекрытия нового клипа; он должен иметь числовой тип.
Однако при создании нового клипа способом дублирования нужно учесть четыре момента. Во-первых, содержимое переменных, объявленных в сценариях дублируемого клипа, а также его свойств не копируется в новый клип. Во-вторых, если дублируемый клип содержит анимацию, то в новом клипе она в любом случае начнет воспроизводиться с самого начала. В-третьих, созданный таким образом клип вкладывается в тот клип, в котором находится продублированный клип. В четвертых, созданные с помощью действия dupiicateMovieciip клипы в порядке перекрытия всегда находятся "выше" созданных вручную.
Приведем пример сценария, использующего действие dupiicateMovieciip и находящегося в клипе саг: dupiicateMovieciip(wheel2, "wheel5", 3) ;
(Мы только что приделали к нашему автомобилю пятое, запасное, колесо!)
Вместо действия dupiicateMovieciip можно использовать одноименный метод объекта movieciip. Вот формат его вызова:
<Дублируемый клип>.dupiicateMovieciip("<Имя создаваемого клипа>", 'Ь<Порядок перекрытия нового клипа>); Создание нового клипа на основе образца.
Сценарные образцы
Чтобы создать совершенно новый клип, основанный на библиотечном образце-клипе, используется метод attachMovie объекта movieciip. Формат его вызова следующий:
<Клип>.attachMovie("<Имя сценарного образца>",
%"<Шя создаваемого клипа>", <Порядок перекрытия нового клипа>) ; Метод attachMovie вызывается для клипа, в который должен быть вложен вновь создаваемый клип. Второй и третий параметры нам уже знакомы, так что не будем останавливаться на них. А вот о первом параметре нужно поговорить подробнее.