Уроки Flash: Светящийся шар

Источник: demiart
John Bezanis (Перевод: kedicik)

Светящийся шар

Выберите Oval tool и удерживая shift нарисуйте окружность на сцене.

Светящийся шар

Выберите gradient Transform Tool и в панели color - установите Type - Linear. Установите
цвета #1129FF и #A3ACFE.

Поверните градиент, захватив круг и повернув его.

Светящийся шар

Правой кнопкой мыши кликните по кругу, выберите Convert to Symbol. Измените имя
символа на glowingorb и кликнит ОК.
Дайте этому символу имя (instance_name ) на сцене - orb.
Дважды кликните по кругу, который откроется как новый символ glowingorb.
На временной шкале (TimeLine) создайте новый слой. Выберите круг в нижнем слое и
скопируйте его. Выберите слой выше и вставьте круг на этот слой Edit->Paste in Place

Светящийся шар

Выберите снова Gradient Transform Tool но установите тип Radial. Подвиньте левый бокс
цвета на 75 % и установите цвет #01108F и alpha 0%. Измените правый бокс color на
#01108F и alpha 70%. Скопируйте эту форму, создайте новый слой и вставьте его в этот
новый слой.

Светящийся шар

Используйте Free Transform Tool, чтобы немного уменьшить новую форму . В панели Color
установите тип Radial, левый цвет #FFFFFF с 100% Alpha. А правый цвет #FFFFFF с 0%
Alpha. Выберите paint bucket tool и кликните по верху формы посередине. Выберите
Gradient Transform Tool, захватите круг с помощью стрелки и уменьшите градиент.
Возвратитесь на главную сцену, создайте слой для скрипта и в первом кадре в actions
вставьте следующий код

Code

//Этот код выполняется когда шар загружается впервые
//Импортируем класс GlowFilter
 import flash.filters.GlowFilter;
//Это цвет свечения
 var color:Number = 0xEB1D99;
//Прозрачность
 var alpha:Number = 1;
//blurX и blurY это высота и ширина свечения
 var blurX:Number = 5;
 var blurY:Number = 5;
 var strength:Number = 2;
 var quality:Number = 10;
 //Внешнее свечение
 var inner:Boolean = false;
 //Не  выключаем объект
 var knockout:Boolean = false;
 //Создаем экземпляр класса  GlowFilter и назовем его filter
 var filter:GlowFilter = new GlowFilter(color, alpha, blurX, blurY, strength, quality, inner,
knockout);
 //Применим filter к шару orb
 orb.filters = [filter];
 //Размер размытия начинается с 5 и будет возрастать
 var blurSize:Number=5;
 var blurGrowing:Boolean=true;

Code


//Этот код выполняется в каждом кадре orb
orb.onEnterFrame=function() {
 //Если размытие(blur) установлено на возрастание,  возрастает его размер, в другом
 случае он уменьшается.
 if(blurGrowing){ blurSize+=2; }
 else { blurSize-=2; }
 if(blurSize>40){
   blurSize=40;
   //Размытие (Blur) слишком большое. Установим его на уменьшение.
   blurGrowing=(!blurGrowing);
 }else if(blurSize<5){
   blurSize=5;
   //Размытие (Blur) слишком маленькое. Установим его на увеличение.
   blurGrowing=(!blurGrowing);
 }
 //После этого присваиваем  filter новый размер размытия
 filter.blurY = blurSize;
 filter.blurX = blurSize;
 //Делаем изменения
 this.filters = [filter];
}

Вот что у нас получилось:


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=18538