Довольно часто у создателей Flash-анимации возникает необходимость прокрутить назад какой-либо ролик. Они начинают судорожно перелистывать книжки, копаться в мозгах, спрашивать в различных форумах, посвящённых Flash. Как-то раз я сам увидел в форуме подобный запрос, но на него так никто из "Flash-метров" и не ответил. Тогда я тоже ещё не мог это сделать, но сегодня хочу поделиться своим опытом и с начинающими и с продвинутыми аниматорами.
Что ж, приступим.
Для начала поставим задачу. Пусть есть ролик (Moovie clip), находящийся в библиотеке, назовём его "подопытной мышкой". Сперва его надо проиграть в самой что ни наесть прямой последовательности, а затем назад, например по щелчку на какую-либо кнопку.
Основная кинолента будет содержать всего один кадр. В этом кадре будут содержаться кнопка, ролик "подопытная мышка" и самый главный ролик, заставляющий "подопытную мышку" бежать назад. Назовём его "перематывальщиком". Думаю, что с такими обозначениями будет легче понять технологию.
Нажмите Ctrl+F8 для создания символа. Сделайте его Movie Clip’ом и назовите как хотите. Этот будет подопытной мышкой. Создайте в нём анимацию, например трансформацию какой-нибудь фигуры длиной 100 кадров. Для сотового кадра напишите скрипт "stop();". Вернитесь на главную киноленту и вставьте в её единственный кадр только что созданный клип. В свойствах экземпляра (Instance) подопытной мышки задайте имя её экземпляра на главной киноленте. Пусть этим именем будет moovie.
Ещё разок нажмите комбинацию Ctrl+F8 для создания Movie Clip’а перематывальщика. В нём будет всего четыре кадра, в которых рисовать ничего не нужно. Сделайте первый, второй и четвёртый кадры ключевыми. Первому кадру задайте сценарий "stop();". Второму – "_root.moovie.prevFrame();". Этот сценарий говорит подопытной мышке проигрывать предыдущий кадр. Четвёртому кадру –
gotoAndPlay(2); _root.moovie.prevFrame();
Здесь происходит почти то же самое, что и в предыдущем сценарии, только сам перематывальщик переходит ко второму кадру. Таким образом, циклически подопытная мышка бежит назад. На самом деле четвёртому кадру можно присвоить в качестве скрипта только первую строчку. Вторая ускоряет перемотку назад. Чтобы наоборот уменьшить скорость проигрывания в обратную сторону, нужно увеличить разрыв между вторым и последним кадром перематывальщика. В форме Instance укажите в качестве имени экземпляра backwards.
Теперь осталось только создать кнопку и задать её также простой сценарий:
on (release) { _root.backwards.gotoAndPlay(2); }
Этот сценарий по щелчку говорит замершему перематывальщику делать своё дело.
Следует сделать одно замечание. Проигрывание подопытной мышки можно обратить в любое время, нажатием кнопки. Также можно сделать это и без кнопки, добавив к сценарию сотового кадра подопытной мыши скрипт кнопки (только без on (release)...).
Видите, как всё просто. Любой сможет сделать, но если что-то не получается вы можете посмотреть исходник на моём сайте http://realds.by.ru/, найдя эту же статью в списке.
Быстрый переход к содержимому сайта Karman.com.ua:
Новости, советы, углубленные знания, знания для новичков, законодательство, интересные скрипты, фотогалереи, отчеты, статьи о хостинге: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24 Часто задаваемые общие вопросы о хостинге, про FTP, PHPMyAdmin и MySQL, CPanel, Предустановленные скрипты, WHM, Cron, .htaccess, SSH, Паролирование директорий,
О доменах, о работе с сайтом, о Раскрутке сайта, об Электронной почте, про Основы web-программирования: 0, 1 Энциклопедия основных терминов хостинга, программного обеспечения, железной стороны хостинга, технологий, электронной почты и доменов: 0, 1, 2, 3, 4, 5, 6 Сайты о хостинге (форумы, хостинг-провайдеры, студии веб-дизайна, домен-регистраторы, инструментарии в помощь вебмастеру): 0, 1, 2