Учебный курс Flash

Учебный курс
Примеры выполненных заданий
Подписка на рассылку
Форум
Чат
Скачать
Ресурсы, ссылки
Flash на практике
Translate into
RB2 Network

RB2 Network






выпуск 27

Flash на практике часть-8


    Сегодня мы займемся переноской тяжестей, а конкретно будем брать то, что плохо лежит, и нести туда, где это будет лежать хорошо, т.е. делать - Drag and Drop. Практическое применение подобный прием находит в различных играх, которые на Flash сделать значительно быстрее и проще, чем другими средствами.

    Что Вы делаете, если Вам нужно перенести иконку на рабочем столе компьютера из одного угла в другой? Берем иконку нажатием левой кнопки мышки и не отпуская кнопку перемещаем на необходимое расстояние, ставим иконку простым отпусканием кнопки. Таким образом, выполняется целый ряд операций над объектом (иконкой): выбор объекта, его фиксация относительно курсора мыши, перемещение и установка объекта при отпускании кнопки. За все эти операции отвечает действие Drag Movie Clip.

Drag Movie Clip - перетаскивание клипов
    Данное действие имеет целый ряд настроечных параметров, используя которые, можно создавать самые разнообразные проекты:
Start Drop Operation - начать перетаскивание. Включив этот пункт, мы должны указать какой объект будет выступать в качестве груза для переноски.
Target - имя целевого объекта, или говоря проще имя экземпляра клипа который мы станем перемещать.
Constrain to rectangle - включив этот пункт, мы можем указать размеры области для перетаскивания. Размеры задаются в полях: Left, Top, Right и Bottom, значения указываются в пикселях Влево, Верх, Вправо и Вниз от центра того объекта в котором находится перетаскиваемый клип. Таким образом, можно ограничить возможные перемещения внутри определенной части проекта.
Lock Mouse to Center - центровка перетаскиваемого клипа относительно курсора мыши. Этот параметр удобно включать, если перетаскиваемые клипы небольшого размера.
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 позиционирует клип относительно его реального центра. Поэтому, если в самом клипе рисунок находится не точно по центру (о позиционировании объектов рассказывалось в 8 выпуске), то и при перемещении будет создаваться ощущение, что рисунок находится в стороне.

    После того, как Вы поняли принцип работы действия 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 можно найти не только для перетаскивания объектов. Бывают случаи, когда нужно узнать координаты курсора мыши. В этом случае необходимо создать "приклеенный" к курсору пустой символ и определять именно его координаты.

    Учебный пример можно сказать на сайте "Учебный курс Flash" в разделе скачать. В примере Вы увидите использование перетаскивания объекта, определение координат мыши и имени того объекта, над которым переносят клип.

Домашнее задание
    На этот раз я не стану давать Вам конкретный сценарий, а предложу принять участие в "Новогоднем проекте".
    Реальная работа Flash-дизайнера редко ограничивается индивидуальным творчеством, в большинстве случаев необходимо уметь работать в коллективе. Какими бы хорошими профессиональными качествами Вы не обладали, одно из основных требований предъявляемых при трудоустройстве в студию Web-дизайна, умение и опыт работы в коллективе, и разумеется, чувство общего стиля.

    Смысл проекта состоит, как раз в отработке необходимых навыков коллективной работы.
    До 15 ноября я жду от Вас сценарии новогоднего клипа.
    16 ноября все полученные сценарии будут размещены на сайте.
    До 25 ноября посетители сайта сами выберут лучший вариант, по которому мы и станем работать дальше. О том, как будет происходить совместная работа, читайте в следующих выпусках.
    Тридцатого декабря готовый проект будет размещен на сайте.
    Таким образом, любой из Вас может внести свой небольшой (или огромный :) вклад в работу.

Требования к сценарию:
    Разумеется, необходимо придерживаться новогодней тематики. Реализация фильма должна быть достаточно простой, но в тоже время не примитивной. Сценарий может быть будущим мультфильмом или новогодней игрой, все зависит от Вашей фантазии.

    Желаю удачи!


Павел Г.Лапин
E-mail: murmik@mail.ru
Россия Мурманск



Всплыть