Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Изучение Flash MX. Курс для начинающих и профессионалов. Как муви клип следовал за курсором мыши...


Обучение по Flash MX.

Как муви клип следовал за курсором мыши... (27.04.2007)


Автор статьи: Александр Манжулов

Сайт: http://helpexe.ru/

Магазин: http://shop.helpexe.ru/

Форум: http://forum.helpexe.ru/

E-mail: admin@helpexe.ru или mail@helpexe.ru

Архив рассылки: http://subscribe.ru/catalog/comp.paper.flashhelp

Пример для этого урока: http://helpexe.ru/effects/effect_18/follow_the_mouse.zip



Здравствуйте, уважаемые читатели !




Интересная тема форума (http://forum.helpexe.ru/viewtopic.php?t=1098&start=0):

Подгружаемые элементы для флэш сайта.

Привет!

Слышал, что эффективно построенный флэш сайт работает по принципу импортирования внешних SWF фильмов в базовый SWF фильм. То есть, допустим, меню и шапка - это основной клип, а всё остальное (клипы) подгружается по мере необходимости с собственным предолоадером.

Очень интересует вопрос - как сделать такой обмен данными? Кто нить может объяснить на простых примерах? читать дальше >>>




Зарабатывать дома, тратя 1 час времени в день?
Вполне возможно!!!

Автор: Александр Манжулов
Художественное оформление обложки: Ольга Сухова


Хотите узнать, как:

  • ...зарабатывать, не выходя из дома?


  • ...зарабатывать через Интернет?


  • ...зарабатывать, затрачивая 1 час времени в день?


Как насчёт заработка через Интернет? Вполне реально!

А хотите узнать способ заработка через всемирную сеть, причём работать можно по часу в день?

Вы когда-нибудь слышали про биржу кредитов WebMoney? Нет, это не то место, где толпа дяденек и тётенек кричит и трясёт бумажками. Это всего лишь вэб-сайт. Но на этом сайте крутятся большие деньги, которые нужно уметь извлекать – нужно уметь их зарабатывать.

И я научу вас, как это делать!

Узнать подробнее...



...в этой былине повествуется о том, как муви клип следовал за курсором мыши.........долго и упорно следовал.........днём и ночью, утром и вечером.........всегда следовал :)

В данном уроке мы создадим эффект следования муви клипа за курсором мыши. Когда муви клип находится подальше от курсора, то он приближается быстрее, постепенно теряя скорость. Когда его центр окажется под курсором, то он, наконец-то, остановится. Такой эффект можно применить где угодно. Ну, например, в играх.

Начинаем

Для начала нам нужен обычный муви клип. Нарисуйте на сцене любой объект и конвертируйте его в муви клип, дав, при этом, ему любое имя. Теперь в созданный муви клип нужно добавить скрипт, для получения требуемого эффекта. Выделите муви клип на сцене и откройте панель Действий (Actions), выбрав в главном меню Window->Actions, либо нажав F9.

Код

Код разделён на два вида движения, которые будет совершать наш муви клип: движения вдоль оси X и движения вдоль оси Y. Код, который вы видите ниже, работает только для оси X – объект будет двигаться пока что только вправо-влево.

onClipEvent (enterFrame) {

  //Движение по оси X
  mx = _root._xmouse;
  if (mx<_x) {
    dx = _x-mx;
  } else {
    dx = mx-_x;
  }
  moveSpeedx = dx/10;
  if (mx<_x) {
    _x = _x-moveSpeedx;
  } else {
    _x = _x+moveSpeedx;
  }

}

Разбираем скрипт


onClipEvent (enterFrame) {

Я поместил весь скрипт внутри события onClipEvent, которое возникает при переходе на каждый новый кадр. Не важно даже, что этот кадр в клипе один. Таким образом, мы бесконечным циклом вычисляем координаты для муви клипа.


mx = _root._xmouse;

Здесь я задаю переменной mx координату курсора по оси X.


if (mx<_x) {
  dx = _x-mx;
}

Этот блок вычисляет дистанцию между курсором и муви клипом. Что бы её вычислить, мы отнимаем от координаты X муви клипа координату X курсора, если последнее меньше первого, а иначе...


else {
  dx = mx-_x;
}

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


moveSpeedx = dx/10;

Вам нужно инициализировать новую переменную moveSpeedx, значение которой будет dx/10. Это деление обязательно нужно для замедления скорости приближения муви клипа к курсору. Попробуйте заменить число 10 на любое другое и посмотреть, что получится.


if (mx<_x) {
  _x = _x-moveSpeedx;
}

В этом блоке вычисляется направление, в котором должен двигаться муви клип, что бы достигнуть курсора. Если координата X курсора меньше координаты X муви клипа, то объект будет двигаться влево, по мере получения им новых координат X, а иначе...


else {
  _x = _x+moveSpeedx;
}

...если координата X курсора больше координаты X муви клипа, то объект будет двигаться вправо.

Теперь вы можете протестировать муви клип. Сейчас движения будут совершаться только вдоль оси X.

Движения вдоль оси Y

Что бы движения так же совершались и вдоль оси Y, мы просто скопируем уже готовый код для оси X и подкорректируем его для оси Y.

Полностью готовый скрипт выглядит так:

onClipEvent (enterFrame) {
  //Движение по оси X
  mx = _root._xmouse;
  if (mx<_x) {
    dx = _x-mx;
  } else {
    dx = mx-_x;
  }
  moveSpeedx = dx/10;
  if (mx<_x) {
    _x = _x-moveSpeedx;
  } else {
    _x = _x+moveSpeedx;
  }

  //Движение по оси Y
  my = _root._ymouse;
  if (my<_y) {
    dy = _y-my;
  } else {
    dy = my-_y;
  }
  moveSpeedy = dy/10;
  if (my<_y) {
    _y = _y-moveSpeedy;
  } else {
    _y = _y+moveSpeedy;
  }
}

Вот и всё! Урок окончен. Могу ещё порекомендовать увеличить количество кадров, воспроизводимых в секунду, с 12 до 24, что бы движения были более гладкими.





ВОПРОСЫ ЧИТАТЕЛЕЙ

Автор вопроса: Ахмедьянов Рустам Гайсович

Адрес: Ишимбай респ. Башкортостан

E-mail: AR@ufamts.ru

Сайт: www.MegaFlash2007.narod.ru


Вопрос:

Я занимаюсь созданием флеш-заставок, и для реализации одной из идей мне необходима Ваша помощь.

Ситуация такая. В клипе необходимо, чтобы на каком-либо кадре (на пример, на 20-ом) срабатывал скрипт, перекидывающий воспроизведение в случайном порядке (т.е. при каждом новом просмотре выбор был случайным) на какой-либо заданный кадр (на пример, 50, 100, 200).

Заранее спасибо.

Ответ:

Сделать такой эффект довольно просто. Для начала скачайте и посмотрите исходник, находящийся по адресу http://helpexe.ru/special/gotoandplay.zip

Посмотрите на скрипт, находящийся на кадре №40 слоя Скрипты.

В строке rand_var = randRange(0, 2); Вы задаёте интервал случайных чисел. В данном случае будет выбираться случайное число из 0, 1 и 2.

А далее, в зависимости от полученного значения, проверяем условиями if...else куда нам нужно перепрыгнуть.


Уважаемые читатели!

Пожалуйста, присылайте свои вопросы по работе в программе Flash на адрес mail@helpexe.ru или redheadorange@list.ru.

В теме письма, пожалуйста, обязательно указывайте В рубрику ВОПРОСЫ ЧИТАТЕЛЕЙ, иначе ваше письмо может не дойти.

Письмо должно содержать следующую информацию:

  1. Ваши ФИО (пункт обязателен к заполнению).
  2. Город, в котором вы проживаете (пункт обязателен к заполнению).
  3. Адрес ресурса в Интернет (не обязательно).
  4. Ваш вопрос (пункт обязателен к заполнению).

По умолчанию, я буду опубликовывать e-mail читателя в рассылке, на вопрос которого буду отвечать. Если вы не желаете, что бы ваш электронный адрес стал известен аудитории, то отдельно в письме сообщите мне об этом.

Желаю Вам творческих успехов!





Люди не замечают вашей рекламы?
Так заставьте их её заметить!

Автор: Александр Манжулов
Художественное оформление обложки: Ольга Сухова


  • Увеличьте количество кликов по своему уникальному баннеру


  • Зарабатывайте, создавая потрясающие баннеры


  • Получайте больше заинтересованных посетителей


  • Порадуйте посетителей необычной рекламой

Узнать подробнее...


ПО ВСЕМ ВОПРОСАМ, связанным с Flash, обращайтесь ко мне:

mail@helpexe.ru или help@helpexe.ru.

Обязательно постараюсь Вам помочь!!!



С уважением, Александр Манжулов
Руководитель проекта helpEXE.ru

E-mail: mail@helpexe.ru
тел. моб.: +7-909-443-16-39





Copyright © 2005-2007 by Александр Манжулов. Все права защищены.

Запрещено частичное или полное воспроизведение
материалов рассылки без согласования с автором.


В избранное