Drag Movie Clip - перетаскивание клипов в то время, как он проигрывается, команда может запускать или прекращать действие этой функции. Муви-клип остается подвижным до тех пор, пока его не остановят командой Stop Drag или до тех пор, пока не сделают подвижным другой клип.Одновременно только один муви-клип может быть подвижным.
Drag Movie Clip имеет следующие параметры :
- Start Drop Operation - начать перетаскивание. Включив этот пункт, мы должны указать какой объект будет выступать в качестве груза для переноски
- Tell Target - выбор фильма для дальнейшего управления (задание цели). Предположим, что у нас на рабочей сцене имеется кнопка и клип, состоящий из 40 кадров, в первом кадре которого стоит действие Stop (т.е. клип остановлен на первом кадре). При нажатии на кнопку клип начинает проигрываться. Назначим кнопке скрипт производящий запуск клипа. Для этого, как обычно, откроем окно Instance Properties и щелкнем на закладке Actions.
- Из списка действий выберите Tell Target.
- В правом части появится поле со списком имеющихся на сцене клипов. Если Вы задали данное действие уже находясь в клипе, то при наличии в нем других клипов, они будут отражены. Если же Вы хотите обратиться из клипа к другому клипу, но находящемуся на основной сцене или в другом клипе, Вам придется самостоятельно указать его местонахождения - путь
- Выберете необходимый объект, дважды щелкнув по нему правой кнопкой мыши.
- В поле Target появится его название, а точнее путь к данному объекту (клипу), например /MovieClip
Теперь Вам будет доступно управление проигрывания клипа или его данными. В нашем примере, для запуска клипа movie скрипт будет выглядеть следующим образом :
On (Release)
Begin Tell Target ("/movie")
Play
End Tell Target
End On
Чтобы правильно прописать места назначения из разных уровней, вы можете прописывать ссылки, используя ту же самую систему, как с обычными ссылками. Сам клип (SWF file) находится на самом первом месте в иерархии, а муви-клипы- в более низких "подуровнях". Синтаксис для определения мест назначения - такой же. как в обычной системе файлов.
Следующие Tell Target ссылки были прописаны для примера с семью монтажными линейками из предыдущего раздела:
/Jack - обращается к муви-клипу по имени ClipA из основной монтажной линейки клипа MovieX.
../ - обращается к монтажной линейке клипа MovieX из муви-клипа по имени ClipA.
/Jack/Bert - обращается к муви-клипу ClipA1 из любого другого муви-клипа.
Bert - обращается к муви-клипу ClipA1 из монтажной линейки клипа ClipA.
../Ernie - обращается к клипу ClipA2 из монтажной линейки клипа ClipA1.
level1/Smith - обращается к муви-клипу ClipC внутри MovieY из любого другого муви-клипа.
Если в поле Target пусто, флэш понимает это как обращение к актуальной монтажной линейке.
В том же самом муви-клипе можно более детально прописывать ссылки. Например, /Jack обращается к клипу по имени ClipA из основной монтажной линейки клипа MovieX; То же самое делает _level0/Jack, но эта ссылка содержит больше информации. Более детальная ссылка может быть полезна, если вы копируете кнопки с оператором Tell Target из одного клипа в другой. Вы можете использовать выражение чтобы прописать ссылку. Например, "/"&ButtonName в меню Parameters заставит Tell Target послать сообщение в муви-клип, содержащийся в переменной ButtonName. Монтажная линейка, на которую вы ссылаетесь, должна находиться во флэш-плейере. Монтажная линейка муви-клипа содержится в плейере, если как раз проигрываются соответствующие кадры клипа. Например, если муви-клип расположен на монтажной линейке между кадрами 1 и 20, вы можете ссылаться на этот муви-клип только пока клип проигрывается или остановлен на каком-то кадре между первым и двадцатым. Как только клип переместится на кадр 21, муви-клип больше не находится на доступной и актуальной монтажной линейке. Следующий пример создан для кнопки на основной монтажной линейке, которая, когда нажата, останавливает муви-клип Jack, когда кнопку отпускают, запускается муви-клип Bert начиная с кадра 55 :
On (Press)
Begin Tell Target ("/Jack")
Stop
End Tell Target
End On
On (Release)
Begin Tell Target ("/Jack/Bert")
Go to and Play (55)
End Tell Target
Go to Next Frame
End On
- Constrain to rectangle - включив этот пункт, мы можем указать размеры области для перетаскивания.
Размеры задаются в полях: Left, Top, Right и Bottom, значения указываются в пикселях Влево, Верх, Вправо и Вниз от центра того объекта в котором находится перетаскиваемый клип. Таким образом, можно ограничить возможные перемещения внутри определенной части проекта.
- Lock Mouse to Center - центровка перетаскиваемого клипа относительно курсора мыши. Этот параметр удобно включать, если перетаскиваемые клипы небольшого размера. Если этот параметр не активен, муви-клип остается на том месте, на котором он был по отношению к курсору, когда операция drag запустилась. Например вот эта команда заставит муви-клип по имени target_item перемещаться внутри прямоугольника величиной 200 x 200 пикселей, который ограничивается следующими координатами:
On (Press, Release, Outside)
Start Drag ("target_item", L=100, T=100, R=300, B=300, lockcenter)
End On - Stop Drag Operation - отключение режима переноски клипа.
- Использование действия Drag Movie Clip, поначалу может вызвать некоторое затруднение.
Рассмотрим его применение на конкретных примерах :
Для начала создадим проект, в котором вместе с указателем мыши будет неотступно перемещаться экземпляр клипа :
- Разместите на сцене экземпляр клипа из Вашей библиотеки
- Укажите в Instance Properties имя клипа, например Baloon
- В первом кадре проекта разместите скрипт следования клипа за курсором мыши, для этого после выбора действия Drag Movie Clip, введите имя клипа
("Baloon") и отметьте Lock Mouse to Center.
В результате мы получим:
Start Drag ("Baloon", lockcenter)
Используя этот прием, можно получить интересные результаты, например во Flash5 добавлена команда отключения стандартного указателя мыши, таким образом, появилась возможность создавать собственные мышиные курсоры для своих проектов. Следует уточнить, что Lock Mouse to Center позиционирует клип относительно его реального центра. Поэтому, если в самом клипе рисунок находится не точно по центру, то и при перемещении будет создаваться ощущение, что рисунок находится в стороне.
После того, как Вы поняли принцип работы действия Drag Movie Clip, научимся не только перемещать клип, но и предварительно его брать и ставить.
Получается, что нам необходимо контролировать кнопку мыши, как Вы помните, для этого служит действие On Mouse Event, которое появляется только на кнопках.
Здесь приходится применять следующую хитрость:
- нужно создать клип, в котором будет располагаться кнопка с необходимым рисунком или без него, но с указанием области срабатывания (кадр кнопки Hit),
- создать для этой кнопки скрипт управления клипом расположенным на сцене, а этот клип не что иное, как экземпляр того клипа над которым мы сейчас и работаем.
Получилось несколько запутанно, но надеюсь, дальше все станет на свои места.
Для работы нам нужен любой символ (рисунок или клип).
- Создайте новую кнопку
- Поместите в ней выбранный Вами символ, также можно разместить на соответствующих кадрах изменение символа в зависимости от действия.
- Создайте новый Movie Clip
- В него из Вашей библиотеки скопируйте, только что созданную кнопку
- Задайте для кнопки следующий скрипт:
On (Press)
Start Drag ("/dragclip", lockcenter)
End On
On (Release)
Stop Drag
End On
Осталось только, скопировать созданный таким образом клип на сцену и указать в Instance Properties имя указанное в скрипте (в данном примере dragclip).
Но применение действия Drag Movie Clip можно найти не только для перетаскивания объектов. Бывают случаи, когда нужно узнать координаты курсора мыши. В этом случае необходимо создать "приклеенный" к курсору пустой символ и определять именно его координаты.
Чтобы писать более сложные действия с перемещением муви-клипов, вы можете использовать качество droptarget для определения, какой муви-клип двигать
MACROMEDIA FLASH MX
Macromedia Flash MX - лучший на сегодняшний день пакет программ для реализации ваших фантазий во Flash.
Основные особенности новой версии Macromedia Flash MX - поддержка стандартов ECMAScript, HTML, MP3, Unicode и XML
Macromedia Flash MX - возможность импорта видео в форматах MPEG, DV (Digital Video), MOV и AVI,
Macromedia Flash MX значительно улучшил инструменты для работы с графикой и динамической загрузки изображений и звука.
Скачать редактор Macromedia Flash MX можно на официальном сайте MACROMEDIA