Делаем светящийся текст

Делаем светящийся текст
Данный эффект нужен был для одного из заказов. Картинок не будет, потому что итак все очень доходчиво. Результат должен получиться следующий:








Выглядит лучше на темном фоне, но скажем черные буквы на белом выглядят не менее красиво и как-то зловеще ))) В общем эффект легко настраивается, и таким образом можно подсвечивать любые объекты (не только текст, но и целые картинки!)

Приступим к его созданию.
Для начала создадим мувиклип, который будет содержать текст(или картинку) которые нужно засветить.
Insert -> New Symbol
Type: MovieClip
Name: mc_text
ставьте галочку Export for ActionScript
Class: mc_text

Пишем что угодно на сцене. (Я так и написал "СВЕТЯЩИЙСЯ ТЕКСТ"). Выравниваем это дело по центру.
Теперь важно, чтобы флэшка работала быстрее - нужно текст преобразовать в картинку. Для этого Два раза жмем CTRL+B и один раз CTRL+G.

Теперь нам нужен объект, который будет находиться поверх нашего текста и реагировать на мышь.
Создаем новый клип (Insert -> New Symbol -> Movie Clip). Назовем его "Перекрышка"
И в центре этого клипа рисуем прямоугольник(любого цвета), который по размерам немного больше нашего текста. Выравниваем его по центру.

Создаем еще один мувикип (обзываем "Ссылка"), создаем на нем 3 слоя:
В самом нижнем слое мы будем распологать код;
На второй бросим клип mc_text, зададим InstanceName linkSvet
на третий - клип "Перекрышка". Зададим ему Instance Name "whitelnk"
В настройках объекта выставим прозрачность (Alpha) в 0, чтобы объект был невидим глазу smile.gif

Теперь собственно выделяем первый кадр первого слоя и жмем F9
CODE
// Создаем переменную, которая следит за тем находится ли наш курсор над текстом
var Link1Over:Boolean;
//Объявляем вектор муви-клипов
var listZ:Vector. = new Vector.()
//Добавляем слушатель события (мышь над текстом)
whitelnk.addEventListener(MouseEvent.MOUSE_OVER, fnOverLink)
//Добавляем слушатель события (мышь не над текстом)
whitelnk.addEventListener(MouseEvent.MOUSE_OUT, fnOutLink)
//Добавляем слушатель события (выполнять функцию каждый кадр)
this.addEventListener(Event.ENTER_FRAME, setPositionFn)

//Если мышь над текстом
function fnOverLink(e:Event):void{
//Записываем в переменную что мышь над текстом
Link1Over=true
var i:int;
//В цикле создаем дубликаты нашего текста (50 штук)
for (i = 0; i<=50;i++){
var zzz:MovieClip
zzz = new mc_text;
listZ.push(zzz)
addChildAt(listZ[i],0)
}
}

//Если мышь не над текстом
function fnOutLink(e:Event):void{
// Сообщаем это в переменную
Link1Over=false
//Удаляем все дубликаты текста
var i:int;
for (i = 0; i<=50;i++){
removeChild(listZ[i])
}
}


// Каждый кадр проверяем:
function setPositionFn(event:Event){
var i:int;
// Если мышь над текстом, то
if (Link1Over==true){
//Настраиваем наши дубликаты
for (i = 0; i<=50;i++){
// Задаем им размер на увеличение (чтобы сияние шло о все стороны)
listZ[i].width=linkSvet.width+(i/2)
listZ[i].height=linkSvet.height+(i/2)
//Задаем им постепенную прозрачность (если хотите более яркий свет, уменьшите значение 1000)
listZ[50-i].alpha =(i/1000)
//Простая формул расположения дубликата в противоположную сторону от мышки.
//если убрать знак "-" в начале формулы, то свет будет светить наоборот в сторону указателя
listZ[i].x=-(listZ[i].width/linkSvet.width * this.mouseX-5)*i/100;
listZ[i].y= -(listZ[i].height/linkSvet.height * this.mouseY-5)*i/100;
}
}
}


Бросаем мувиклип "Ссылка" на сцену и запустив - наслаждаемся )))
P.S. все настройки (типа яркости) выведены опытным путем, так что при желании можно легко их корректировать и наблюдать за результатом.



Присоединённые файлы


 LightText.swf ( 3.69к )




 Светящийся_текст.rar ( 11.37к )



Источник: http://demiart.ru/forum/

Подборка лучших дизайнов и шаблонов сайтов:

Не удалось обработать запрос

Не удалось обработать запрос

Вы можете вернуться на начальную страницу или повторить попытку.