В этом уроке будут рассмотрены основы технологии «Drag and drop» («перетащи-и-брось» или перетаскивание объектов) для Adobe Flash CS5, и примеры реализации этого эффекта в ActionScript 3.0. Вы узнаете, как реализовать перетаскивание объекта по сцене программно в ActionScript 3.0. В примере будет использовано изображение овцы в качестве демонстрационного объекта для реализации механизма «Drag and drop» .
Шаг первый — Создаем объект для того, чтобы запрограммировать перетаскивание
Откройте Adobe Flash и создайте новый документ, разместите на сцене любой объект.
В качестве альтернативы вы можете использовать изображение в виде объекта, как и в примере. Для этого в главном меню перейдите File -> Import to stage, затем выберите файл изображения и нажмите на него.
Шаг второй — Преобразование объекта в символ
Выделите объект и нажмите правую кнопку мыши, в контекстом выберите «Convert To Symbol» , или нажмите F8.
Дайте объекту какое-нибудь имя, отметьте, что символ имеет тип «Movie Clip
» и нажмите OK.
Используя инструмент «Selection Tool» выделите объект и введите в поле «Instance name» имя объекта «sheep_mc
» .
Шаг третий — Добавление кода
Нажмите на изображение стрелочки в верхней панели справа и добавьте следующий код:
sheep_mc.addEventListener(MouseEvent.MOUSE_DOWN, drag);
sheep_mc.addEventListener(MouseEvent.MOUSE_UP, drop);
function drag(event:MouseEvent):void {
sheep_mc.startDrag();
}
function drop(event:MouseEvent):void {
sheep_mc.stopDrag();
}
В первой и во второй строке кода добавляются прослушиватели событий (EventListeners) для событий «mouse up
» (кнопка мыши отжата) и «mouse down
» (кнопка мыши нажата) с параметрами перетаскивания (drag and drop).
Функция drag
начинает перетаскивать объект, когда зажата кнопка мыши, а функция drop
останавливает перетаскивание объекта, если кнопка мыши была отжата.
Функции перетаскивания (drag and drop) также могут быть адаптированы для многократного использования.
Шаг четвертый — Проверьте приложение
Нажмите ctrl + Enter и проверьте, что получилось. Теперь при помощи мыши попробуйте перетащить овцу по экрану.
Теперь вы умеете реализовывать перетаскивание в Adobe Flash при помощи ActionScript 3.0. Исходники примера вы можете скачать здесь.
В следующем уроке рассмотрим перетаскивание нескольких объектов на сцене.