Первая часть сценария задает случайное значение для переменных startx и starty, которые определяют начальное положение клипа в верхней части рабочего поля. Затем эти значения присваиваются соответствуюшим координатам клипа. Помните, что переменные endx и endy были заданы сценарием главной временной шкалы при создании клипов. Таким образом, у клипов теперь есть случайное начальное расположение, описываемое переменными startx и starty, а также фиксированное конечное положение, заданное переменными endx и endy.
Значение переменной n изменяется от 0 до 100 с шагом 5, показывая, на сколько процентов выполнено перемешение буквы. Значение 0 соответствует 0 % по отношению к конечной точке и 100 % по отношению к начальной. Для значения 5 это составляет 5 % и 95 % соответственно. С каждым шагом буква приближается к цели на 5 %. Значение местоположения обновляется, если переменная имеет значение меньшее или равное 100.
onClipEvent(load) {
startx = Math.random*550;
starty = -Math.random*100;
this._x = startx;
this._y = starty;
n = 0
}
onClipEvent(enterFrame) {
n += 5;
if (n <= 100) {
this._x = endx*n/100 + startx*(100-n)/100;
this._y = endy*n/100 + starty*(100-n)/100;
}
}
К сведению
Позиция клипа Letter0 определяет позицию первой буквы конечного текста, поэтому советуем вам внимательнее отнестись к его расположению и немного поэкспериментировать.
Другие возможности
Сушествуют различные варианты изменения данного сценария. Вы можете указать другую исходную позицию букв, значение переменной n может изменяться быстрее или медленнее, а буквы располагаться не горизонтально, а вертикально.След от курсора
Исходный файл: Cursortrail.fla
Рассмотрим спецэффект, создание которого невозможно без использования ActionScript. В нашем примере, когда пользователь перемешает мышь, за курсором остается характерный шлейф, состояший из таюших копий изображения, привязанного к курсору.
На рис. 5.9 можно увидеть пример этого эффекта. Каждая из окружностей показывает предыдушую позицию курсора. Чем раньше создана окружность, тем она меньше и светлее.
Рисунок 5.9 .
Задача проекта
Идея состоит в том, чтобы создать след за курсором из постепенно уменьшаюшихся и таюших окружностей. Когда пользователь перемешает мышь, возникает ошушение, что курсор рисует за собой хвост.
В начальный момент каждый кружок имеет свой фиксированный размер и абсолютно непрозрачен. Постепенно он уменьшается в размерах и бледнеет до тех пор, пока окончательно не сольется с фоном.
В любой момент времени на экране тает и уменьшается множество кружочков, и по мере исчесзновения старых их место занимают новые, появляюшиеся в текушей позиции курсора.
Подход
Окружности являются клипами, которые создаются и помешаются в определенную точку экрана в течение работы программы. В коде хранятся все сушествуюшие клипы. При каждом обрашении к кадру программа просматривает массив, уменьшая размер и увеличивая прозрачность каждого клипа. Когда клип с окружностью становится невидимым, он удаляется; также удаляется соответствуюший элемент массива.
Подготовка ролика
Создадим простой клип с кружочком внутри. Цвет и размер вы можете выбрать по своему усмотрению. В нашем примере мы сделали темно-голубую окружность диаметром 20 пикселов. Клипу присвоено имя «Cursor Trail» (След курсора), в панели Linkage Properties выставлен флажок Export for ActionScript и присвоено имя связи CursorTrail.
Теперь создадим клип с надписью "Actions". Поместим его вне пределов рабочей области. Этот клип будет использоваться только как носитель кода, поэтому его содержание может быть любым. Вы можете даже не создавать внутри него никаких изображений или текста – тогда на экране он будет отображаться в виде маленького кружочка.
Создание кода
Наш "actions\' – клип содержит два обработчика onClipEvent. Первый включается в начале ролика и создает пустой массив, чтобы содержать ссылки на клипы, образуюшие хвост. Он также устанавливает счетчику trailNum значение ноль. Эта переменная содержит значение номера следующего клипа, который вы создадите.
Переменная speed определяет как быстро клипы, составляюшие «хвост», будут уменьшаться в размерах и таять.