Суббота, 23.11.2024, 10:40
Приветствую Вас Гость | RSS

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа

След курсора

 

Цветочный шлейф за курсором.




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

 

Первый пример:



Для начала нам нужно подготовить изображения цветов, которые мы будем
использовать для шлейфа. Для этого в фотошопе вырежьте рисунок цветка
и сохраните его на прозрачном фоне в формате PNG.
Создадим новый документ на AS2.0  Размеры и цвет фона выбираем на своё
усмотрение. Импортируем изображение нашего цветка в библиотеку программы.
Поместим его на сцену, выделим и преобразуем в муви клип присвоив название
в панели свойств follower.  Удалим клип со сцены. В библиотеке щелкаем правой
кнопкой мыши на follower и в открывшемся меню выбираем Свойства, где в чебоксе
Экспорт для Action Script ставим галочку



Создадим новый слой, откроем панель Скриптов и вставим следующий код:

 
Stage.scaleMode = "noScale";
_root._quality = "BEST";

var grav:Number = 0.1;

function move_func() {
   
    this._x += this.dX*this._xscale/100;
   
    this.dY += _root.grav;
   
    this._y += this.dY*this._xscale/100;
   
    this._alpha--;
   
    if (this._alpha<=0) {
        this.removeMovieClip();
    }
}

onMouseMove = function () {
   
    i = _root.getNextHighestDepth();
   
    varTarget = _root.attachMovie("follower", "follower"+i+"follower", i, {_x:_root._xmouse, _y:_root._ymouse});
   
    varTarget._xscale=varTarget._yscale=25+Math.random()*75
   
    varTarget.dY = -1-Math.random()*1;
   
    varTarget.dX = Math.random()*1-Math.random()*1;
   
    varTarget.onEnterFrame = move_func;
};
 


Протестируем ролик. Для наглядного примера я создал открытку.


 

 

 

Второй пример:



Так же подготовим изображения цветов в формате PNG (лучше 2 или 3)
Создаём новый документ на AS2.0 Импортируем эти рисунки в библиотеку.
 Сразу создадим новый символ, нажимая F8 и дадим ему название ball.
Поместим из библиотеки наши рисунки цветов




На временной шкале нажимаем F6 на десятом кадре (создаём ключевой кадр)
и при помощи инструмента Свободное преобразование (клавиша Q) уменьшаем
наши цветы до размера 10х10 или меньше. Создадим второй слой и 11 кадр
сделаем ключевым (F6) откроем панель скриптов и вставим следующий код:

 

stop ();
this.removeMovieClip();

 

На временной шкале у вас должно выглядеть примерно следующее:



Переходим на основную сцену. Щелкаем правой кнопкой в библиотеке
на символ ball и в свойствах прописываем идентификатор ball
(ставим галочку в чебоксе Экспорт для ActionScript)
Создадим новый слой для скрипта и в панели скриптов (F9)
вставим следующий код:

 


i = 0;
onMouseMove = function ()
{
    var cur_x = _xmouse;
    var cur_y = _ymouse;
    var limit = 2;
    var min = 10;
    var max = 60;
    var alfa = 160;
    var delta_x = old_x - cur_x;
    var delta_y = old_y - cur_y;
    var dist = Math.sqrt(delta_x * delta_x + delta_y * delta_y);
    old_x = cur_x;
    old_y = cur_y;
    if (dist > limit)
    {
        ++i;
        attachMovie("ball", "ball" + i, -510 + i);
        with (this["ball" + i])
        {
            var ran = Math.random() * max + min;
            var ran2 = Math.random() * alfa - alfa / 2;
            _rotation = ran2;
            _xscale = _yscale = ran;
            _x = _parent._xmouse;
            _y = _parent._ymouse;

        }
    }
};

 



Тестируем ролик.  Вот пример этого урока:



 

 

 

Третий пример:



Ещё один красивый пример цветочного шлейфа за курсором.
Создадим новый документ на AS2.0  Поставим 25 кадров в секунду
и вставим новый муви клип (F8) дадим название zwezda и пропишем
идентификатор (ставим галочку в чебоксе "Экспорт для ActionScript")
Поместим в новый клип цветы, заранее подготовленные как в
предыдущих примерах перейдём на основную сцену.
Перетащим клип zwezda на сцену и дадим instanc name "follower"
(без кавычек)
Создадим слой для скрипта и вставим следующий код:

 


import flash.geom.ColorTransform;
Mouse.hide();
follower._visible = false;

this.onMouseMove = function() {
var d:Number = this.getNextHighestDepth();
var mc:MovieClip = follower.duplicateMovieClip('z'+d, d, {_x:_xmouse, _y:_ymouse, life:100, cacheAsBitmap:true, tr:new ColorTransform(1, 1, 1, 1, 255, 0, 0, 0)});
mc.onEnterFrame = function() {
 moving(this);
};
};

function moving(mc:MovieClip) {
mc.life -= 1;
mc._xscale = mc._yscale=(400-mc.life*3);
mc._rotation += 6;
mc.transform.colorTransform = mc.tr;
mc.tr.redOffset -= 4;
mc.tr.greenOffset += 5;
mc.tr.blueOffset += 8;
mc.tr.alphaOffset -= 4;
if (!mc.life) {
 delete mc.onEnterFrame;
 mc.removeMovieClip();
}
}


 

Тестируем ролик в работе. Смотрите работу этого варианта:






 

 

Поиск


Календарь
Друзья сайта
Друзья сайта



Все права принадлежат Akrus.Просьба при копировании давать ссылку на мой сайт. © 2024