Реферат Курсовая Конспект
Set_video_reclama(); Z-сортировка экземпляров клипа - Лекция, раздел Менеджмент, Динамическое управление фильмами-символами Изменение Глубины Расположения Экземпляров Фильмов-Символов Называют Z-Сортир...
|
Изменение глубины расположения экземпляров фильмов-символов называют z-сортировкой. Почему z? Да потому, что глубину во Flash можно рассматривать, как третье измерение, Z-координату (вдобавок к X и Y). В момент создания экземпляра клипа его глубина устанавливается при помощи duplicateMovieClip() или attachMovie(), а для динамического изменения глубины расположения клипов предназначен метод swapDepths() объекта MovieClip. C помощью этого метода можно "поменять глубинами" любые два фильма-символа либо переместить экземпляр на указанную глубину.
Для взаимного обмена глубинами двух экземпляров клипов используется следующий синтаксис:
movieClip1.swapDepths(movieClip2);Если, например, movieClip2 располагался поверх movieClip1, то в результате выполнения этого скрипта они поменяются местами, и movieClip1 окажется над movieClip2.
Синтаксис перемещения экземпляра клипа (созданного до этого при помощи duplicateMovieClip() или attachMovie()) на нужную глубину следующий:
movieClip1.swapDepths(нужнаяГлубина);Метод swapDepths() прост в использовании, в то же время он позволяет создавать замечательные эффекты в приложениях и играх. В этом упражнении перетаскиваемыми два окна в нашем приложении для рисования, при помощи swapDepths() расположим нужное окно поверх прочего содержимого, а также назначим действия некоторым кнопкам.
В таком виде мы с вами оставили файл, с которым работали в предыдущем упражнении. В этом упражнении мы добавим кое-что в скрипт экземпляра клипа controller, а также поработаем с клипами-окнами.
И window1, и window2 – экземпляры одного и того же клипа, только под разными именами. Этот скрипт будет направлять экземпляр window1 к кадру с меткой color сразу после загрузки фильма. В этом кадре имеется несколько кнопок, которые будут предназначены для выбора цвета линий при рисовании.
Этот скрипт сразу после загрузки фильма будет направлять данный экземпляр к кадру с меткой admin. В этом кадре имеется две кнопки, позволяющие очищать область рисования и распечатывать ее содержимое.
Вы, вероятно, помните, что переменная currentColor (в экземпляре клипа controller) хранит цвет рисуемых линий. Этот скрипт как раз присваивает переменной currentColor новое значение – шестнадцатеричный код цвета.
Для второй кнопки:
on (release) { _parent.controller.currentColor = "FAC81C";}Для третьей кнопки:
on (release) { _parent.controller.currentColor = "E72638";}Для четвертой кнопки:
on (release) { _parent.controller.currentColor = "1091CB";}Для пятой кнопки:
on (release) { _parent.controller.currentColor = "1FA900";}Для шестой кнопки:
on (release) { _parent.controller.currentColor = "BC0077";}Скрипты те же самые, что и для первой кнопки, разнятся только значения цвета.
Теперь давайте запрограммируем перетаскивание окна.
Поскольку кнопка находится на монтажном столе клипа, изображающего окно, при нажатии кнопки начинается перетаскивание самого этого (this) окна.
Второе действие вызывает функцию (пока не написанную). Функция эта, под названием swap(), будет находиться в клипе controller, ее роль будет заключаться в изменении z-положения окна так, чтобы оно оказалось на самом верху. Функция при вызове смотрит переданное ей значение свойства _name (представляющее имя экземпляра) текущего фильма. Наш проект содержит два экземпляра одного и того же клипа – window1 и window2, поэтому кнопка будет работать следующим образом: если кнопка нажата в экземпляре window1, начинается перетаскивание этого экземпляра, и функции swap() передается значение "window1". Если же кнопка нажата в экземпляре window2, начинается перетаскивание этого экземпляра, и функции swap() передается значение "window2".
При отпускании кнопки процесс перетаскивания прекращается.
Для смены глубин размещения экземпляров window1 и window2 мы применим метод swapDepths(). Переменная topDog будет хранить имя того экземпляра, который расположен выше. При генерации фильма выше окажется window1, поэтому мы присваиваем переменной именно такое начальное значение.
Назначение этой функции – поменять глубинами экземпляр клипа с именем, содержащимся в name (значение параметра, передаваемого функции) и экземпляр с именем, содержащимся в переменной topDog. После этого переменная topDog получает новое значение – это будет имя экземпляра, который теперь оказался сверху. На шаге 6 мы видели, что функции в качестве параметра передается свойство _name текущего фильма (это может быть либо window1, либо window2). Предполагая, что в некоторый момент переменная topDog имеет значение "window1", нажатие кнопки перетаскивания в window2 (при этом будет вызвана функция и ей передано значение "window2") приведет к такому выполнению функции:
function swap ("window2") { _root.window2.swapDepths(_root.window1); topDog = "window2";}Как только вы нажмете кнопку в верхней части окна, он окажется верхним по глубине и начнется процесс перетаскивания.
Ну, а при нажатии на кнопки выбора цвета происходит только одно: изменяется значение переменной currentColor в экземпляре клипа controller, в результате чего новые линии будут изображаться новым цветом.
Итак, мы с вами применили метод swapDepths() для перемещения на передний план нужного окна. Но проект еще не закончен! Мы должны запрограммировать очистку рабочей области рисования, а также возможность перетаскивания на нее картинок-шаблонов.
– Конец работы –
Эта тема принадлежит разделу:
Что будет изучаться... В этой лекции Построение прокручиваемого списка Дублирование и... Приложение для рисования один из проектов которые мы создадим в этом уроке в ходе изучения различных способов динамического управления...
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Set_video_reclama(); Z-сортировка экземпляров клипа
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов