Поиск по сайту
Дизайнерский форум
Рассылка
Наша кнопка
Мы рекомендуем
|
Замедление при щелчке мышки
Этот пример продемонстрирует вам основы замедления, перемещая объект туда, где был сделан щелчок мышью на сцене. Кроме того, что это является важной частью анимации, это еще и красиво смотрится. Вы можете скачать *.fla файл здесь (частичный *.fla файл не содержит никаких экшенов или элементов, обеспечивающих данный эффект).
Шаг 1
1) Создайте новый файл. Размер сцены значения не имеет (в примере 300x200 пикселей).
2) На главной сцене нарисуйте небольшой круг и сделайте его movie clip.
3) Чтобы это сделать, выберите нарисованный вами круг и нажмите F8. В появившемся окне выберите Movie clip, дайте ему имя (на ваше усмотрение), и нажмите OK.
Шаг 2
Ничего сложного, правда? Теперь нам нужно применить экшены к этому клипу. Кликните по нему правой кнопкой мыши и выберите пункт «Actions» (действия). Откроется окно Actions.
Вставьте следующие экшены:
onClipEvent (load) {
_x = 0;
_y = 0;
speed = 5;
}
onClipEvent (mouseDown) {
endX = _root._xmouse;
endY = _root._ymouse;
}
onClipEvent (enterFrame) {
_x += (endX-_x)/speed;
_y += (endY-_y)/speed;
}
Теперь вы можете запустить ролик, нажав комбинацию клавиш CTRL+Enter.
Теперь мы объясним, как работает код
Во-первых, в объяснении нуждается функция onClipEvent(load):
onClipEvent (load) {
_x = 0;
_y = 0;
speed = 5;
}
Эта функция перемещает клип в заданные координаты x и y. Точка (0,0) – это верхний правый угол сцены.
Она также задаёт скорость эффекта (speed = 5;). Чем меньше скорость, тем быстрее эффект.
Далее рассмотрим предназначение функции onClipEvent(mouseDown):
onClipEvent (mouseDown) {
endX = _root._xmouse;
endY = _root._ymouse;
}
Она задает конечное расположение вашего клипа. Когда вы кликаете по сцене, она определят место, в которое будет перемещаться ваш клип.
И последнее, что нам осталось – это функция onClipEvent(enterFrame):
onClipEvent (enterFrame) {
_x += (endX-_x)/speed;
_y += (endY-_y)/speed;
}
Это цикл, который берет текущие (x,y) координаты клипа и вычитает их из endX и endY переменных (которые вы задаете, когда кликаете мышью по сцене). Это значение становится все меньшим, т.к. клип приближается к выбранной точке и каждый раз делится на скорость. Это заставляет клип двигаться быстрее, когда он далеко от точки и медленнее, когда он к ней приближается.
|
|