flashdocs.net: все о macromedia flash 5, mx, 2004 pro, 8. Обучение: flash статьи flash уроки flash исходники flash софт, faq, а также flash мульты и flash игры
Все о Macromedia Flash 8 mx 2004 pro! Все о Flash! Обучение flash уроки, flash статьи, flash исходники, flash soft, flash форум, flash документация и многое другое! Все что нужно будущему flasher.
     
 Навигация

Главная

:Обучение:

Статьи
Уроки
Исходники
Flash-Софт
FAQ

:Flash-развлечения:

Flash-игры
Flash-мульты



:Добавить на сайт:


Уроки
Исходники и Flash-soft
Новость
Ссылку
Мульт или игру


:Разделы:

Форум
Ссылки
Управление аккаунтом
Поиск

:Услуги сайта:

Платные услуги сайта
 Поиск
Поиск по сайту

 Баннеры

Вы можете разместить наш баннер на своем сайте. У нас есть баннеры различных размеров и форматов.

Пример

[ все баннеры ]
 Друзья
> Flash Blog
> Верстка и Дизайн
> Документация ко всему
> Flash-Город!
Pages

Разное о Flash

Перетаскивание Drag'n'Drop


Термином ''drag'n'drop" ("тащи и бросай") обозначают целый набор операций, связанных с перетаскиванием каких-либо объектов операционной системы (файлов, папок, ярлыков), системных или прикладных программ. Так, во Flash вы используете операции перетаскивания для изменения местоположения графических фрагментов и указателя кадра. Как правило, в различных программах (в том числе, в самой операционной системе) операции "drag'n'drop" выполняют сходные функции.

Вы можете сделать один из встроенных клипов вашего фильма или приложения Flash перетаскиваемым. Это выполняется с помощью действия

startDrag.

startDrag(<путь клипа>, [<3а центр>, <Х1>;, , , ]);

В качестве единственного обязательного параметра передается путь к клипу, который вы хотите сделать перетаскиваемым.

Действие startDrag может принимать еще пять параметров. Второй параметр имеет логический тип и позволяет задать точку, к которой будет автоматически "приклеиваться" курсор мыши: точку, по которой пользователь щелкнул мышью (значение false) или центр клипа (значение true). Параметры XI и YI задают горизонтальную и вертикальную координаты левого верхнего угла воображаемого прямоугольника, внутри которого можно будет перетаскивать этот клип, и за пределы которого он не сможет выйти. А за координаты правого нижнего угла "отвечают

" параметры Х2 и Y2. Эти координаты задаются относительно внешнего клипа.

startDrag(_root.car);

Можно также использовать метод startDrag объекта movieclip:

<Путь клипа>.startDrag([<3а центр>, [<Х1>, , , ]]);

_root.car.startDrag(true);

После вызова этого действия или метода клип станет перетаскиваемым. При этом пользователь сможет

"ухватить"; его мышью и перетащить на новое место.

Вы также можете задать границы области, в которой можно будет "таскать" клип:

_root.car.startDragftrue, 100, 100, 500, 500);

Чтобы отменить возможность перетаскивания клипа, либо вызовите действие или метод startorag для другого клипа (только один клип в данный момент времени может быть перетаскиваемым), либо вызовите действие или метод stopDrag. Это действие (метод) не принимает параметров.

stopDrag();

_root.car.stopDrag ();

Для запуска процесса перетаскивания клипа и обработки его "отпускания" вы можете использовать обработчики событий press и release. А поскольку это не события встроенного клипа, а события кнопки, вам нужно будет предварительно преобразовать ваш клип в кнопку.

on (press) {

this.startDrag(true);

}

on(release) {

this._x = _root._xmouse;

this._y = __root._ymouse;

this.stopDrag();

}

Это простейшие обработчики перетаскивания клипа. Первый просто запускает операцию перетаскивания клипа. Второй же завершает эту операцию и одновременно помещает клип на то место, куда он был "брошен" пользователем. Конечно, вы можете создать и более сложные обработчики.

Объект movieciip предоставляет доступное только для чтения свойство _droptarget. Это свойство возвращает "цель" операции

"drag'n'drop", т. е. клип, в который был "брошен" текущий клип. Вы можете проверить значение, возвращаемое этим свойством, и в зависимости от этого завершить или не завершить операцию перетаскивания.

Здесь имеет место небольшое затруднение. Дело в том, что свойство _droptarget возвращает результат в особом формате, применяемом в старых версиях Flash. Это так называемая "запись со слэшем", когда для разделения имени экземпляра объекта и свойства или метода применяется косая черта (/), а не точка. Для того чтобы преобразовать

"запись со слэшем" в "запись с Точкой", нужно использовать функцию eval.

on(release) {

if (eval(this._droptarget) != _root.forbiddenArea) {

this._x = _root._xmouse;

this, у = _root._ymouse;

this . stopDrag ( ) ;

Вышеуказанный обработчик запрещает пользователю "бросать

" перетаскиваемый элемент в клип под названием forbiddenArea. Вы также можете, наоборот, разрешить "бросать" перетаскиваемый элемент только в одно определенное место



Автор: GRINDERS

Дата публикации: 2004-09-17 (2052 Прочтено)

Остальные материалы раздела Разное о Flash
  • Выявление совпадений
  • Изменение параметров встроенных клипов (MovieClip)
  • Обработчики событий MovieClip
  • Перемещение объекта к указанной точке
  • Команды обмена информании межу JAVA, FScommand
  • Трассировка
  • Скроллинг текста
  • Как управлять объектом в Flash фильме через клавиатуру
  • If- условный оператор
  • Переменные Actions Script

    [ Назад | Начало ]

  • Created by GRINDERS © 2002
    Copyright © flashdocs.net 2002-2005
    Внимание! Материалы с нашего портала брать для своего сайта без разрешения главного администратора КАТЕГОРИЧЕСКИ ЗАПРЕЩАЕТСЯ!
    Портальная система edogs-nuke
    15 запросов к базе данных.
    Карта сайта, каталог сайтов

    Rambler's Top100