• Страница 1 из 1
  • 1
Модератор форума: Centr  
Форум » Разное » Flash » Замедление при щелчке мышки (Замедление при щелчке мышки)
Замедление при щелчке мышки
Centr Дата: Пн, 14.06.2010, 12:21 | Сообщение # 1
Сообщений: 766
Замечания:
 
Замедление при щелчке мышки

Описание урока: В этом уроке, вы узнаете как создать случайное движение во Flash, используя ActionScript. Результат должен получиться, как на нашей картинке.


Этот пример продемонстрирует вам основы замедления, перемещая объект туда, где был сделан щелчок мышью на сцене. Кроме того, что это является важной частью анимации, это еще и красиво смотрится. Вы можете скачать *.fla файл здесь (частичный *.fla файл не содержит никаких экшенов или элементов, обеспечивающих данный эффект).

Шаг 1

1) Создайте новый файл. Размер сцены значения не имеет (в примере 300x200 пикселей).

2) На главной сцене нарисуйте небольшой круг и сделайте его movie clip.

3) Чтобы это сделать, выберите нарисованный вами круг и нажмите F8. В появившемся окне выберите Movie clip, дайте ему имя (на ваше усмотрение), и нажмите OK.

Шаг 2

Ничего сложного, правда? Теперь нам нужно применить экшены к этому клипу. Кликните по нему правой кнопкой мыши и выберите пункт «Actions» (действия). Откроется окно Actions.

Вставьте следующие экшены:

Code
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):

Code
onClipEvent (load) {
_x = 0;
_y = 0;
speed = 5;
}

Эта функция перемещает клип в заданные координаты x и y. Точка (0,0) – это верхний правый угол сцены.

Она также задаёт скорость эффекта (speed = 5;). Чем меньше скорость, тем быстрее эффект.

Далее рассмотрим предназначение функции onClipEvent(mouseDown):

Code
onClipEvent (mouseDown) {
endX = _root._xmouse;
endY = _root._ymouse;
}

Она задает конечное расположение вашего клипа. Когда вы кликаете по сцене, она определят место, в которое будет перемещаться ваш клип.

И последнее, что нам осталось – это функция onClipEvent(enterFrame):

Code
onClipEvent (enterFrame) {
_x += (endX-_x)/speed;
_y += (endY-_y)/speed;
}

Это цикл, который берет текущие (x,y) координаты клипа и вычитает их из endX и endY переменных (которые вы задаете, когда кликаете мышью по сцене). Это значение становится все меньшим, т.к. клип приближается к выбранной точке и каждый раз делится на скорость. Это заставляет клип двигаться быстрее, когда он далеко от точки и медленнее, когда он к ней приближается.

Источник http://web-silver.ru/


ЛаГеР Дата: Пн, 14.06.2010, 16:24 | Сообщение # 2
Сообщений: 136
Замечания:
 
это сложно для меня( sad

ЕСЛИ У ВАС ЧТО ТО ЛАГАЕТ.... ТО ЭТО НЕ Я) xD
Centr Дата: Вт, 13.07.2010, 23:14 | Сообщение # 3
Сообщений: 766
Замечания:
 
а для меня нет)

Житель Дата: Пт, 16.07.2010, 18:35 | Сообщение # 4
Сообщений: 211
Замечания:
 
прикольная тема happy
๖ۣۜKONDOR Дата: Пт, 17.12.2010, 18:53 | Сообщение # 5
Сообщений: 36
Замечания:
 
Класно

Я из спец отряда "Кондор"
Форум » Разное » Flash » Замедление при щелчке мышки (Замедление при щелчке мышки)
  • Страница 1 из 1
  • 1
Поиск:
Статистика Форума
Последнии темы Читаемые темы Лучшии пользователи Новые пользователи
Чистый сервер css v67 (рабочий на 99,9%) (1)
Прохождение Сталкер Clear Sky (6)
Ketrawars.ru (1)
СЕЙЧАС Фригейм.рф новый сервер Lineage2 x50HL (0)
СЕГОДНЯ Фригейм открытие! Lineage2 3GAME.RU (0)
Общаемся (167)
Обломай товарища (41)
Конкурс №1 (41)
Обсуждение игр 2009 - 2010 года) (37)
Лучший Модератор (33)
Centr (766)
SnipeR2010 (326)
Leon-Killer (307)
Житель (211)
SasHa_pro (146)
dp120886lvp (28.03.2017)
-=vertus=-cheg (12.11.2016)
Efimovanxa (19.04.2016)
bioware73 (25.11.2015)
prezident (13.11.2015)