уроки по Macromedia Flash

Студия Интернет рекламы
На Virtualreklama самые лучшие уроки по созданию Web-дизайна
Хочу вам рассказать о довольно-таки неплохом способе создания следа от курсора во флэше. Получается весьма красиво. Посмотрите вниз



1. Как всегда, запустите Flash и оставьте установки по умолчанию, если хотите.

2. Возьмите инструмент Oval (овал), щёлкнув на круге слева, или нажав O.



Инструмент Oval обведён красным.

3. Сделайте круг, удерживая клавишу SHIFT пока вы тащите инструмент. Не нужно делать его слушком большим. Теперь выберите весь созданный вами круг и зайдите в Insert (вставка) > Convert To Symbol (преобразовать в символ) или просто нажмите F8. Щёлкните на селективной кнопке "Movie Clip" (клип), и задайте ему имя "cursor trail" (след курсора).

4. Теперь откройте библиотеку - зайдите в Window (окно) > Library (библиотека) или нажмите CTRL+L. Сейчас вы должны видеть там свой клип. Щёлкните на нём правой кнопкой, и выберите "linkage" (связывание). Появится маленькое окно. Под "Linkage" вы должны выбрать поле, в котором написано "Export for Actionscript" (экспортировать для ...), затем щёлкните OK.



Окно Linkage (связывание)

5. Вам нужно взять инструмент Type (печать), которому соответствует значок "A" - на одну ячейку выше значка инструмента oval (овал). Теперь напечатайте что-нибудь вне сцены. Я набрал "actions" (действия), но это не имеет значения. Затем вам нужно преобразовать текст в символ, зайдя в Insert (вставка) > Convert To Symbol (преобразовать в символ) или нажав F8. Щёлкните на селективной кнопке "Movie Clip" (клип), затем нажмите OK.

6. Откройте меню actions (действия) - Window (окно) > Actions (действия), или нажмите F9. Теперь, если вы строго следовали всем шагам, то просто можете скопировать и вставить следующий код, иначе вам предётся его немного переделать, вставив название вашего клипа. Вот этот код....

onClipEvent(load) {
trail = new Array();
trailNum = 0;

speed = 1;
}

onClipEvent(enterFrame) {
var mc = _root.attachMovie("cursor trail","cursor
trail"+trailNum,trailNum);

mc._x = _root._xmouse;
mc._y = _root._ymouse;

trail.push(mc);
trailNum++;

for(var i=trail.length-1;i>=0;i--) {

trail[i]._alpha -= speed;
trail[i]._xscale -= speed;
trail[i]._yscale -= speed;

if (trail[i]._alpha <= 0) {

trail.splice(0,1);

trail[i].removeMovieClip();
}
}

}


Давайте теперь интерпретируем код. Первой его операцией является действие "onClipEvent". В данном случае это "load" (загрузка). То есть, когда сделанный мною клип "actions" загружается, он выполнит действия. Первые несколько действий представляют собой всего лишь установку переменных. Массив начнёт действовать позже.

Далее следует ещё одно действие onClipEvent, в этот раз "enterFrame". Каждый раз, когда появляется новый кадр (по умолчанию 12 раз в секунду), переменная var mc будет присоединять Cursor Trail Movie Clip (клип следа курсора), давать ему новое имя Cursor Trail (след курсора) (плюс любой номер из переменной trailNum). Затем она задаёт ему уровень trailNum. Например, пусть tailNum равна 2. Тогда она зайдёт в кадр со значением 2. Затем переменная var mc присоединит Cursor Trail movie clip(mc). После этого, она задаст ему новое имя (так как не может быть одно и то же имя у двух). В данном случае имя будет Cursor Trail2. Теперь он будет находиться на другом уровне, так что они не будут "конфликтовать" друг с другом. Необходимо, чтобы они перекрывались для достижения красивого эффекта следа. Итак, уровень становиться равен 2. Над 1, но под 3. Но разве это имеет значение?

Теперь, переменные mc выдают cursor trail movie clip (клип следа курсора), положение по оси X или место, где находится Mouse (мышь) на оси X, и место, где находится Mouse (мышь) на оси Y. Затем trail.push(mc) добавляет это в "trail array" (массив следа). Затем строчка trailNum++ увеличивает значение trailNum на 1 каждый раз. Вот как множество курсоров оставляют след, и это может продолжаться бесконечно.

Строчка "for" сокращает длину следа. Она циклически проходит по всем клипам в массиве. Следующие 3 строчки изменяют свойство _alpha (прозрачность), а также Xscale и Yscale (увеличение или уменьшение размера). В данном случае, нам нужно уменьшить _alpha, что вы и видите. Затем нужно также уменьшить масштаб. Всем этим занимаются эти три строчки.

Затем следует выражение "if " - если свойство _alpha меньше либо равно 0, то оно сначала удаляется из массива. После этого удасяется весь клип.

7. Теперь щёлкните на кадре 1 и вставьте в окно действий действие "stop" (стоп).

stop();

Вот и всё! Наслаждайтесь!

здесь могут быть Ваши банеры

 
Сайт создан в системе uCoz