Перемещение букв

Перемещение букв

Исходный файл: Textfly.fla

Во многих Flash-роликах по экрану перемешается текст. Сушествует множество способов создания этого эффекта, некоторые из них проиллюстрированы примерами, которые имеются на Web-сайте поддержки книги.

Задача проекта

В данном разделе рассказано, как создать ролик, где текстовая фраза разделяется на отдельные буквы, каждая из которых помешается в случайное место экрана. Затем эти буквы перемешаются по экрану и, соединяясь, вновь образуют исходную фразу.

На рис. 5.7 изображены четыре кадра из ролика, имюшегося на Web-сайте. Буквы спускаются сверху и выстраиваются в нужном порядке в нижней части экрана.

Рисунок 5.7 . Четыре кадра анимации, созданной при помощи ActionScript

Посмотрите ролик Textfly.fla на Web-сайте. Обратите внимание, где располагаются сценарии и как организован ролик в целом.

Подход

Ролик создается следующим образом: текст делится на отдельные буквы, каждая из которых представляет собой отдельный клип. Затем из случайных мест на экране эти клипы перемешаются в позиции, соответствуюшие исходному тексту.

Подготовка ролика

Ролик включает графическое изображение, расположенное в центре экрана и совершенно не зависяшее от текстового эффекта.

Внутри ролика находится один клип, содержаший букву "А". Клип был создан из небольшого текстового окна. В панели Properties ему было назначено свойство Dynamic Text и присвоено имя переменной letterText (рис. 5.8).

Рисунок 5.8 . В панели Properties вы можете назначить текстовой области свойство Dynamic Text и присвоить ей имя переменной

Затем текстовое поле преобразуется в клип при помоши команды Insert ? Convert To Symbol. Копия эталона получает имя letter0 и помешается в то место, где находится первая буква фразы, в данном случае – в нижний левый угол.

Создание кода

В процессе выполнения программы из одного клипа создается несколько его экземпляров. В каждом новом цикле при помоши функции duplicateMovieClip создается новый экземпляр клипа для каждой из букв. После создания каждого экземпляра в него вводятся переменные endx и endy, задаюшие окончательную позицию букв в анимации. Значение переменной endy соответствует позиции _y клипа Letter0, значение переменной endx увеличивается слева направо.

Сценарий создает новые копии клипа для букв начиная с той, которая идет под номером 1. Первая буква (она имеет номер 0) использует уже сушествуюший клип Letter0.

text = «Introducing: Flashy the Fox!»;

for (i=0;i<text.length;i++) {

if (i > 0) duplicateMovieClip("Letter0","letter"+i,i);

this["letter"+i].letterText = text.charAt(i);

this["letter"+i].endx = this["LetterO"]._x + i*19;

this["letter"+i].endy = this["LetterO"]._y;

}

Данный текст является ознакомительным фрагментом.