Оглавление:
-
Введение
-
Свойства Drag Movie Clip
-
Перетаскивание клипа
-
ВВЕДЕНИЕ
Сегодня мы займемся переноской тяжестей, а конкретно - будем брать то, что плохо лежит, и нести туда, где это будет лежать хорошо, то есть делать Drag and Drop. Практическое применение подобный прием находит в различных играх, которые на Flash можно сделать значительно быстрее и проще, чем с помощью других средств.
Что вы делаете, если вам нужно перенести значок на рабочем столе компьютера из одного угла в другой? Берем значок нажатием левой кнопки мышки и, не отпуская кнопку, перемещаем на необходимое расстояние, ставим значок простым отпусканием кнопки. Таким образом выполняется целый ряд операций над объектом (значком): выбор объекта, его фиксация относительно курсора мыши, перемещение и установка объекта при отпускании кнопки. За все эти операции отвечает действие Drag Movie Clip.
Данное действие имеет целый ряд настроечных параметров, используя которые можно создавать самые разнообразные проекты:
startDrag- начать перетаскивание (чтобы его добавить зайдите в Actions Script, и там зайдите ActionsMovie Clip ControlStart Drag.)
Target - имя целевого объекта, или, говоря проще, имя экземпляра клипа, который мы будем перемещать.
Constrain to rectangle - включив этот пункт, мы можем указать размеры области для перетаскивания. Размеры задаются в полях: L-Left, T-Top, R-Right и B-Bottom. Значения указываются в пикселях
: Влево, Верх, Вправо и Вниз от центра того объекта, в котором находится перетаскиваемый клип. Таким образом, можно ограничить возможные перемещения внутри определенной части проекта.
Lock mouse to center - центровка перетаскиваемого клипа относительно курсора мыши. Этот параметр удобно включать, если перетаскиваемые клипы имеют небольшой размер.
StopDrag- отключение режима переноски клипа.
-
ПЕРЕТАСКИВАНИЕ КЛИПА
Использование действия Drag Movie Clip поначалу может вызвать некоторые затруднения. Рассмотрим его применение на конкретных примерах. Для начала создайте проект, в котором вместе с указателем мыши будет неотступно перемещаться экземпляр клипа.
1. Разместите на сцене экземпляр клипа из вашей библиотеки (Movie Clip).
2. Укажите в панели Instance имя клипа, например Baloon (это находится под выпадающем меню Symbol Behavior, в свойствах Movie Clip).
3. В первом кадре проекта разместите сценарий следования клипа за курсором мыши, для этого после выбора действия startDrag введите имя клипа (в нашем случае /Baloon) и отметьте Lock mouse to center.
В результате мы получим:
startDrag ("/Baloon", true);
Используя этот прием, можно получить интересные результаты. Предположим, во Flash MX добавлена команда отключения стандартного указателя мыши, таким образом, появилась возможность создавать собственные мышиные курсоры для своих проектов.
Следует уточнить, что Lock mouse to center позиционирует клип относительно его реального центра. Поэтому, если в самом клипе рисунок находится не точно по центру, то и при перемещении будет возникать ощущение, что рисунок находится в стороне от курсора мыши.
Теперь, после того как вы поняли принцип работы действия
Drag Movie Clip, научимся не только перемещать клип, но и предварительно его брать и отпускать после перемещения. Для этого нам необходимо контролировать кнопку мыши. Как вы помните, для этого служит действие On Mouse Event, которое появляется только на кнопках.
1. Здесь приходится применять следующую хитрость: необходимо создать клип, в котором будет располагаться кнопка с необходимым рисунком или без него, но с указанием области срабатывания (кадр кнопки Hit).
2. Создать для этой кнопки сценарий управления клипом, расположенным на сцене, а этот клип не что иное, как экземпляр того клипа, над которым мы сейчас и работаем.
Получилось несколько запутанно, но, надеюсь, дальше все станет на свои места.
1. Для работы нам нужен любой символ (рисунок или клип). Создайте новую кнопку.
2. Поместите в ней выбранный вами символ, также можно разместить на соответствующих кадрах изменение символа в зависимости от действия.
3. Создайте новый клип.
4. В него из вашей библиотеки скопируйте только что созданную кнопку. Задайте для кнопки следующий сценарий:
. on (press) {
startDrag ("/dragclip", true);
on (release) {
stopDrag ();
}
5. Осталось только скопировать созданный таким образом клип на сцену и указать в панели Instance имя, указанное в сценарии (в данном примере dragclip).
Как видите, ничего сложного!
P.S. Но применение действию
Drag Movie Clip можно найти не только для перетаскивания объектов. Бывают случаи, когда нужно узнать координаты курсора мыши. В этом случае необходимо присвоить переменным свойства координат мыши, это можно сделать, применив, например, следующий код:
х = _xmouse;
у = _ymouse;