Поиск по сайту


Дизайнерский форум

Рассылка

Наша кнопка

Мы рекомендуем

Замедление при щелчке мышки

Этот пример продемонстрирует вам основы замедления, перемещая объект туда, где был сделан щелчок мышью на сцене. Кроме того, что это является важной частью анимации, это еще и красиво смотрится. Вы можете скачать *.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 переменных (которые вы задаете, когда кликаете мышью по сцене). Это значение становится все меньшим, т.к. клип приближается к выбранной точке и каждый раз делится на скорость. Это заставляет клип двигаться быстрее, когда он далеко от точки и медленнее, когда он к ней приближается.
Дизайн навигатор - Photoshop, уроки фотошоп, шаблоны сайтов