ActionScript 3.0: мувиклипы, привязанные к курсору

Задача: группа мувиклипов должна перемещаться за курсором, соблюдая строгую очерёдность.

За основу взят этот эффект, написанный под ActionScript 2.0:

Но не будем ограничиваться только переводом. Попробуем сделать что-то более универсальное...

Первым делом, создаём мувиклипы, которыми будем управлять...

Создаём мувиклип container_mc - это контейнер для всей нашей графики...

Внутри мувиклипа container_mc создаём много мувиков, которые и будут бегать за курсором. Имена у этих мувиков следующие: containerText_mc_1, containerText_mc_2, containerText_mc_3, containerText_mc_4 и containerText_mc_5. Можно сделать гораздо больше, но мне лень.

Обратите внимание, что у всех мувиклипов точка регистрации находится в верхнем левом углу. Это важно.

Пишем код на главной временной шкале...

Код ActionScript 3.0:

/* импорт классов */ import flash.events.Event; import flash.display.MovieClip; /* переменные */ var speed_num:Number = 4; // скорость var indent_num:Number = 30; // зазор между курсором и мувиклипами var arrayNameMovieClips_arr:Array = ["containerText_mc_1", "containerText_mc_2", "containerText_mc_3", "containerText_mc_4", "containerText_mc_5"]; // массив с именами мувиклипов /* в каждом кадре */ this.addEventListener(Event.ENTER_FRAME, onEnterFramesFunc); function onEnterFramesFunc(event:Event):void { /* переменные */ var i:uint = 0; var l:uint = arrayNameMovieClips_arr.length; var prev_mc:MovieClip; var current_mc:MovieClip; var length_num:Number = 0; /* проходимся по массиву */ while(i < l) { /* берём мувиклип */ current_mc = container_mc.getChildByName(arrayNameMovieClips_arr[i]) as MovieClip; /* и перемещаем его в новые координаты */ if(i) { current_mc.x += (prev_mc.x - current_mc.x + length_num) / speed_num; current_mc.y += (prev_mc.y - current_mc.y) / speed_num; } else { current_mc.x += (mouseX - current_mc.x + indent_num) / speed_num; current_mc.y += (mouseY - current_mc.y) / speed_num; } /* изменяем значение у переменных */ length_num = current_mc.width; prev_mc = current_mc; /* переходим к следующему мувику */ i++; } }

Пояснения, как умел, дал в комментариях.

Смотрим, что получилось:

Ну, вроде работает.

Скачать исходники | Download

Автор: admin

Дата добавления: 2015-10-01

Просмотров: 2103

Рейтинг поста: +12-

Правила перепечатки

Социальные закладки:
Комментарии:
Комментатор
Комментарий добавил(а): Яповчанка
Дата добавления: 2016-12-16
Cпасибо за ответ..)))
Спасибо за внимание..))
Комментатор
Комментарий добавил(а): edapskov
Дата добавления: 2016-12-16
Построчные комментарии там излишни, но общий смысл такой: из библиотеки на сцену добавляем мувиклипы с картинкой снежинки и помещаем эти мувиклипы в случайные координаты на сцене; в каждом новом кадре постепенно изменяем у мувиклипов-снежинок масштаб и прозрачность, а когда эти изменения достигают определённого уровня, то снова меняем координаты и повторяем процесс.
Комментатор
Комментарий добавил(а): Яповчанка
Дата добавления: 2016-12-16
Благодарю ..)))
И еще..просьба..)Прошу прощения за наглость:-(
Вы не могли бы прокомментировать коды,если не очень затруднит..:-)
Комментатор
Комментарий добавил(а): edapskov
Дата добавления: 2016-12-16
Здравствуйте. Вас тоже с наступающими :-) Наверно, как-то так: https://yadi.sk/d/4DH211hU33izec
Комментатор
Комментарий добавил(а): Яповчанка
Дата добавления: 2016-12-15
Здравствуйте.
Помогите ,пожалуйста, реализовать этот <b>эффект</b> на AS3..
Спасибо и с наступающими праздниками!!!
Комментатор
Комментарий добавил(а): edapskov
Дата добавления: 2016-05-20
Насколько помню, никак: Гугл-карты с Flash-ем больше не работают. А так ваши задумки вполне просто реализуются. Урок писать по этой теме права не имею - не моя вотчина. Но есть хороший ресурс по этой теме: webmap-blog.ru . Там, например, есть урок: http://webmap-blog.ru/google-maps/ispolzuem-jquery-i-json-v-meste-s-google-maps-api-v3 (рабочее решение - сам пользовался).
Комментатор
Комментарий добавил(а): Евгений
Дата добавления: 2016-05-20
Спасибо за ответ, понятно_!!

Но я уже начал создавать карту сам, все-таки хочется самим разобраться, как_??_8)
Если все-таки надумаете, буду признателен_!!
Или хотя бы тот же урок по api google map, только от вас, на русском_8)
Комментатор
Комментарий добавил(а): edapskov
Дата добавления: 2016-05-20
Здравствуйте. Для карт, всё же, правильнее будет не изобретать свой велосипед, а воспользоваться готовым решением. Например, использовать API от Яндекса и Гугла. И для первого, и для второго в сети есть готовые примеры - вам даже знание JS не потребуется. Ну а ввести данные по широте, долготе и масштабу, думаю, не составит проблем.
Комментатор
Комментарий добавил(а): Евгений
Дата добавления: 2016-05-19
Приветствую_!!

Помогите сделать для карты маркеры, которые будут двигаться, масштабироваться вместе с изображением (картой), а также кнопки для перемещения к этим маркерам_!!
Комментатор
Комментарий добавил(а): яповчанка
Дата добавления: 2015-10-15
Спасибо.. получилось..!!!..)))
Добавить комментарий:







[ + ] помощь по форматирование текста

Идиот-тест

Если все обязательные поля (отмечены * ) заполнены необходимой информацией, то нажимаем кнопку Добавить комментарий.

Страница 1 из 2: 12
Меню
Подписка
Рубрики
Метки
Последние комментарии
Рейтинг постов
Реклама
Друзья
География гостей
Статистика
Яндекс.Метрика