9
фев
  Хлопья из курсора 0 баллов
 


Вопрос:


Подскажите пожалуйста, как мне сделать курсор, из которого при движении мышки будут сыпаться хлопья (белые кружочки)…

Ответ:


Да не вопрос =) Всё, что нам нужно, так отслеживать движение мыши и через attachMovie() на сцену подключать нужные изображения “хлопьев”. Работаем =)

А как будет выглядеть снежинка?


Ну, для начала разберёмся, как у нас будет выглядеть сама снежинка. Скажу сразу, у меня снежинка сделана градиентной заливкой от полностью не прозрачного белого к полностью прозрачному. Для производительности компьютеров будет лучше не использовать прозрачность (свойство _alpha объектов в Flash) и сделать тупо белым кружочком, но ведь с прозрачностью красивее =) В общем смотрите сами, что больше будет подходить для ваших нужд. Кстати да, не забудьте, когда нарисуете снежинку, сделать из неё Movie Clip объект и “залинковать” его в библиотеке (Вкладка Library -> Щелчок правой кнопкой мышки -> Linkage).

Отлавливаем движение мышки через onMouseMove


В вопросе спрашивается, как можно сделать курсор, из которого при движении сыпались бы хлопья. Ключевая фраза, как вы наверно уже поняли, “при движении”. То есть нам нужно создавать новые экземпляры снежинок не каждый раз, а только при движении мышкой. К счастью, Flash даёт возможность отследить движение мышки, и сделать это можно с помощью события onMouseMove. Это событие срабатывает каждый раз, когда пользователь двигает мышкой, а назначается оно, так же, как и любые другие основные события Movie Clip объектов в Flash. Не верите — проверьте сами.

onMouseMove = function () {
        trace(”Mouse Move“);
}

Данный код каждый раз при движении мышки будет выводить в панель Output в Flash (F2) надпись “Mouse Move”.

Создаём клипы во время движения с помощью attachMovie


Следующим шагом мы просто “аттачим” экземпляры снежинок из библиотеки в _root и задаём им нужные свойства. Делается это с помощью метода attachMovie(), который подробно описан в статье про программное создание MovieClip объектов.

Вот и всё


Теперь смотрим на пример и качаем исходник. Если что-то будет не понятно, то задавайте свои вопросы в разделе «Вопрос-ответ».

Сама флешка »
| Исходник »

Комментарии (13)   Автор: admin
Комментарии
remen
10.04.09 | 11:02
16 баллов

хороший эффект. спс)

vinaction
05.12.09 | 15:18
0 баллов

Подскажите пожалуйста, как этот исходник использовать на сайте?
Можно сделать ссылку в index'e на этот файл?
Или можно скопировать код в index?

BOSS.ELVIN
06.12.09 | 13:28
-16 баллов

ТАК СЕБЕ

И.Р.И.Н.А
18.03.10 | 19:50
0 баллов

Спасибо большое автору)) описание просто прелесть))) только начинаю работать с эктивскрипт и такие замечательные комментарии) Только вот долго искала, ну где же этот snow_mc...перемучалась)) потом создала свой сновик)), а оптом ещё столько же мучалась, пока не додумалась экспортировать в экшион для attachMovie"a ))

И.Р.И.Н.А
19.03.10 | 16:59
0 баллов

Всем привет))))) а как можно прописать на кнопку так, что бы при нажатии включался\ выключался эффект снежной мышки? я вот поменяла параметры, добавила пару своих и получилось классные эффекты, вот и я хочу сделать так, что бы были 2-3 кнопочки при нажатии которых включались эффекты на курсорах) помогите, плиииииз))))

admin
20.03.10 | 19:37
0 баллов

Самым лучшим способом было бы включение/выключение вызова ENTER_FRAME события, но в вашем случае, в качестве простоты.

Я бы посоветовал объявить в коде переменную, допустим путь она будет называться isSnowNeed, она должна принимать значения true и false, а в функции ENTER_FRAME сделать проверку, если isSnowNeed == true, то делаем что-то, если false, то ничего не делаем.

Организация проверок происходит с помощью условий if/else, буду надеяться, что вы знаете, как с ними работать.

И.Р.И.Н.А
21.03.10 | 03:41
0 баллов

Спасибо))) Солнышко, а вот переменные я могу задавать с названиями какие хочу...?) просто я только начинаю... если что - поправьте)))
Ну вот так:

var dX:Number = 1 это скорость машины которая летит с обрыва
var dY:Number = 1 это её вес который тянет её вниз))
skorost = dY + Math.random() - скорость мы прибавляем от первоначальной к рандому
if (skorost<= 10) если скорость больше или равняеться 10
removeMovieClip(); то мы стираем всё
else gotoAndStop(1); - в остальном случае - возвращаемся к первому кадру

и ещё вопрос skorost и _root.skorost - это одно и тоже?)
и вот, this.трам-па-па относиться к чему?

admin
21.03.10 | 13:24
0 баллов

Пожалуйста, но давайте обойдёмся без «солнышек», я не хочу вас обидеть, но я не солнышко вам =)

На счёт следующего кода я не понял что вы хотели им сказать.

Цитата:
и ещё вопрос skorost и _root.skorost - это одно и тоже?)

Скорее всего да, посмотрите, есть ли где-нибудь ещё упоминание свойства skorost.

Цитата:
и вот, this.трам-па-па относиться к чему?

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

И.Р.И.Н.А
21.03.10 | 18:41
0 баллов

=)))) хорошо))
Ну, правильно я его написала с логической точки зрения?

admin
22.03.10 | 01:45
0 баллов

Цитата:
Ну, правильно я его написала с логической точки зрения?

Кого «его»?

И.Р.И.Н.А
22.03.10 | 15:10
-16 баллов

=)) ну код))) или про машинку, вот как бы знающие люди написали данную сценку?)) Я , вот, скорость задала и использовала if\else... вот)))
Кстати скачала себе CS$ v10 такой классный)) только не по-русски((

admin
23.03.10 | 00:05
0 баллов

Если честно, я мало понимаю, что вам необходимо сделать. Если у вас есть конкретные вопросы, то попробуйте опубликовать их в разделе «Вопрос-ответ», там не только у меня будет возможность помочь вам.

И.Р.И.Н.А
23.03.10 | 02:38
16 баллов

Оки)) я там всё объясню, а то , бывает, сама не понимаю что хочу=)))

 
 
 
 

Последние комментарии

Полезные ссылки

Реклама сайтов

Купальники известный марки Amarea
Сайт о фильмах любых жанров и направлений
проектирование пожаротушения на производстве для обеспечения пожарной безопасности