След от курсора
След от курсора
Исходный файл: Cursortrail.fla
Рассмотрим спецэффект, создание которого невозможно без использования ActionScript. В нашем примере, когда пользователь перемешает мышь, за курсором остается характерный шлейф, состояший из таюших копий изображения, привязанного к курсору.
На рис. 5.9 можно увидеть пример этого эффекта. Каждая из окружностей показывает предыдушую позицию курсора. Чем раньше создана окружность, тем она меньше и светлее.
Рисунок 5.9 . Оставляя копии клипа в позиции, в которой только что находился курсор, можно создать след, тянущийся за курсором
Задача проекта
Идея состоит в том, чтобы создать след за курсором из постепенно уменьшаюшихся и таюших окружностей. Когда пользователь перемешает мышь, возникает ошушение, что курсор рисует за собой хвост.
В начальный момент каждый кружок имеет свой фиксированный размер и абсолютно непрозрачен. Постепенно он уменьшается в размерах и бледнеет до тех пор, пока окончательно не сольется с фоном.
В любой момент времени на экране тает и уменьшается множество кружочков, и по мере исчесзновения старых их место занимают новые, появляюшиеся в текушей позиции курсора.
Подход
Окружности являются клипами, которые создаются и помешаются в определенную точку экрана в течение работы программы. В коде хранятся все сушествуюшие клипы. При каждом обрашении к кадру программа просматривает массив, уменьшая размер и увеличивая прозрачность каждого клипа. Когда клип с окружностью становится невидимым, он удаляется; также удаляется соответствуюший элемент массива.
Подготовка ролика
Создадим простой клип с кружочком внутри. Цвет и размер вы можете выбрать по своему усмотрению. В нашем примере мы сделали темно-голубую окружность диаметром 20 пикселов. Клипу присвоено имя «Cursor Trail» (След курсора), в панели Linkage Properties выставлен флажок Export for ActionScript и присвоено имя связи CursorTrail.
Теперь создадим клип с надписью "Actions". Поместим его вне пределов рабочей области. Этот клип будет использоваться только как носитель кода, поэтому его содержание может быть любым. Вы можете даже не создавать внутри него никаких изображений или текста – тогда на экране он будет отображаться в виде маленького кружочка.
Создание кода
Наш "actions' – клип содержит два обработчика onClipEvent. Первый включается в начале ролика и создает пустой массив, чтобы содержать ссылки на клипы, образуюшие хвост. Он также устанавливает счетчику trailNum значение ноль. Эта переменная содержит значение номера следующего клипа, который вы создадите.
Переменная speed определяет как быстро клипы, составляюшие «хвост», будут уменьшаться в размерах и таять.
On ClipEvent(load) {
// Создаем массив.
trail = new Array();
trailNum = 0;
// Меньшее значение переменной соответствует меньшей
// скорости.
speed = 2;
}Следуюший обработчик начинается с создания экземпляра клипа. Каждому клипу присваивается уникальное имя вида cursor trail + trailNum. Переменная trailNum используется также для определения уровня очередного клипа.
On ClipEvent(enterFrame) {
// Создаем очередной клип.
var mc = _root.attachMovie("cursor trail", "cursor trail" + trailNum, trailNum);Созданный клип помешаем в текушую позицию курсора.
// Устанавливаем позицию.
mc._x = _root._xmouse;
mc._y = _root._ymouse;Указатель на новый клип добавляется в массив trail. Затем значение trailNum увеличивается на единицу.
// Добавляем указатель в массив.
trail.push(mc);
trailNum++;С помошью цикла в остальной части кода происходит обрашение ко всем клипам массива trail. Размер и прозрачность каждого клипа изменяются на величину speed. Когда свойство _alpha текушего клипа становится меньше либо равно нулю, этот клип удаляется из массива и ролика в целом.
// Обращаемся к существующим клипам.
for (var i=trail.lenght-1; i>=0; i–) {
// Уменьшаем свойства alpha и размер клипа.
trail[i]._alpha -= speed;
trail[i]._xscale -= speed;
trail[i]._yscale -= speed;
// Удаляем клип, когда он становится невидимым.
if (trail[i]._alpha<=0) {
// Удаляем указатель из массива.
trail.splice(0, 1);
// Удаляем клип.
trail[i]. RemoveMovieClip();
}
}
}Обратите внимание, что массив сканируется от конца к началу. Это сделано потому, что из массива время от времени удаляются элементы. Если бы массив сканировался от начала к концу, то при удалении элемента возникала бы путаница в порядке следования элементов. Например, если удалить первый элемент, то первым элементом станет второй. Тогда на следующем шаге цикла произойдет обрашение к следующему за вторым элементу, то есть к третьему. Таким образом, второй элемент массива окажется пропушенным.
К сведению
Меняя параметр speed, вы можете изменять длину «хвоста». Значение этой переменной также влияет на скорость исполнения ролика, так как если значение speed маленькое, например 1, то программе приходится одновременно управлять сотней клипов.
Другие возможности
Для создания следа за курсором вы также можете использовать клипы, содержашие собственную анимацию. Таким образом вы можете попробовать получить эффект сверкаюшего пламени или дыма.Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
24.2.3. Перемещение курсора
24.2.3. Перемещение курсора Как и в большинстве программ, курсор терминала используется библиотекой S-Lang для обозначения позиции, принятой по умолчанию, для ввода текста и для подсказки пользователю. Программы S-Lang могут перемещать курсор с помощью показанной ниже
Параметры курсора
Параметры курсора CSS предоставляет нам одну очень интересную возможность — указание вида курсора мыши, который он примет при наведении на данный элемент Web-страницы. Это может быть полезно при создании специальных эффектов.Атрибут стиля cursor устанавливает форму курсора
Параметры курсора
Параметры курсора CSS предоставляет нам одну очень интересную возможность — указание вида курсора мыши, который он примет при наведении на данный элемент Web-страницы. Это может быть полезно при создании специальных эффектов.Атрибут стиля cursor устанавливает форму курсора
Заставьте след сработать
Заставьте след сработать Проложить нормальный – мы ведь не говорим лучший – след на самом деле не так уж и сложно. Проектируя процесс продаж на сайте, постоянно спрашивайте себя: «Что именно ожидает увидеть покупатель в следующий момент? Что ему было обещано ранее?» Если
Прокладываем след
Прокладываем след Мы только что рассмотрели, как при помощи одного рекламного баннера можно создать устойчивый след, по которому пользователь пройдет свой путь от начала и до конца. А еще раньше мы описали неудачно проложенный след. И в том и в другом случае речь шла о
Использование курсора в программе Probe
Использование курсора в программе Probe Из строки меню выберите Trace, Cursor, Display, и на экране появится поле Probe Cursor. Оно может появиться в правой нижней части, но его при желании можно переместить и в другую область экрана. Поле содержит следующую информацию:А1 = 4.0000K, -27.025А2 = 4.0000K,
8.7. Практическое задание. Оставь свой след на фотографии!
8.7. Практическое задание. Оставь свой след на фотографии! Технологии развиваются с такой скоростью, что вчерашняя недостижимая мечта становится обыденной реальностью. Так произошло с цифровой фотографией.Сегодня каждый желающий может приобрести цифровой фотоаппарат и
Наборы курсора
Наборы курсора Оператор SELECT может объявлять набор, который вовсе не является выходным для клиента, но остается на сервере, чтобы работать как курсор на стороне сервера. Сам курсор является указателем; приложение дает ему указание по запросу читать по порядку строки одну
21.2.5. Изменение положения курсора
21.2.5. Изменение положения курсора Команду tput также можно применять для отображения курсора в произвольном месте экрана. При этом используется следующий формат:cup r cгде r — это номер ряда (строки) в нижней части экрана, а с — номер столбца на экране.Лучше применять эту
ТЕХНОЛОГИИ: Каждый шаг оставляет след
ТЕХНОЛОГИИ: Каждый шаг оставляет след Нельзя сказать, что информация о такой трассировке - сенсационная новость. И представители спецслужб, и сотрудничающие с ними в подобных вопросах фирмы, выпускающие печатающее оборудование и программы для работы с изображениями,
Облачный след на РИФ+КИБ 2010 Константин Анисимов
Облачный след на РИФ+КИБ 2010 Константин Анисимов Разговоры про облака доносятся отовсюду. Не обошли они стороной и крупнейшую интернет-конференцию РИФ+КИБ 2010. Все приезжающие туда уже давно интересуются исключительно тем, КАК зарабатывать деньги на
Василий Щепетнёв: След жирафа
Василий Щепетнёв: След жирафа Есть у меня хороший знакомый, который каждую субботу берёт в магазине бутылку водки. Казалось бы, что с того? Берёт и берёт, имеет право — в конце трудовой недели-то. Тем более что и в субботу, и в воскресенье он остается трезвым: мы видимся
Василий Щепетнёв: След жирафа
Василий Щепетнёв: След жирафа Автор: Василий ЩепетневОпубликовано 25 марта 2010 годаЕсть у меня хороший знакомый, который каждую субботу берёт в магазине бутылку водки. Казалось бы, что с того? Берёт и берёт, имеет право - в конце трудовой недели-то. Тем более что и в субботу, и