Стоит почитаьь про класс BlurFilter если у тебя восьмая версия флэша.
Вообще я делал давно, нечто подобное, щас чуть изменил, но боюсь пример будет сложноват.
Код:
import flash.filters.BlurFilter;
import mx.transitions.Tween;
import mx.transitions.easing.*
//создаем метод, который будет анимировать кнопку, при наводе мышки.
function startTween(tween:Tween,blur:BlurFilter,target:MovieClip):Void {
//удаляем если что то осталось с прошлой анимации
delete tween.onMotionChanged;
delete tween.onMotionFinished;
//запускаем экземпляр Tween.
tween.continueTo(3,.5);
//создаем обработчик события, который будет изменять оба свойства, и "обновлять" фильтр
tween.onMotionChanged = function ():Void {
blur.blurY = blur.blurX;
target.filters = [blur];
}
//когда анимация закончена запускаем фильтр обратно.
tween.onMotionFinished = function ():Void {
//йойо запускает обратно
tween.yoyo();
//удаляем этот обработчик
delete tween.onMotionFinished;
}
}
//созжаем обратный метод
function finishTween(tween:Tween,blur:BlurFilter,target:MovieClip):Void {
//удаляем если что то осталось с прошлой анимации, и останавливаем если двигалось
delete tween.onMotionChanged;
delete tween.onMotionFinished;
tween.stop();
//запускаем обратно
tween.continueTo(0,.5);
//вобаем обработчик, как в прошлом варианте
tween.onMotionChanged = function ():Void {
blur.blurY = blur.blurX;
target.filters = [blur];
}
}
//создаем метод который будет создавать кнопку,позиционировать, давать имя и настраивать текст.
function createButton(parent:MovieClip,label:String,x:Number,y:Number,w:Number,h:Number,format:TextFormat):MovieClip {
//переменная отвечающая за глубину
var d:Number = parent.getNextHighestDepth();
//создаем мувик и текстовое поле в нем
var result:MovieClip = parent.createEmptyMovieClip("label"+d,d);
var label_txt:TextField = result.createTextField("label_txt",1,x,y,w,h);
//задаем настройки текста(класс TextFormat)
label_txt.setNewTextFormat(format);
label_txt.text = label;
label_txt.selectable = false;
//создаем блюр (класс flash.filters.BlurFilter)
var blur:BlurFilter = new BlurFilter(0,0,4);
//создаем экземпляр класса Tween, который будет извращаться по всякому =)
var tween:Tween = new Tween(blur,"blurX",Regular.easeOut,0,0,.5,true);
//создаем обработчики событий для нашей кнопки.
result.onRollOver = function ():Void {
startTween(tween,blur,result);
}
result.onRollOut = function ():Void {
finishTween(tween,blur,result);
}
return result;
}
//создаем/размножаем кнопки
var fmt:TextFormat = new TextFormat("Verdana",12,0xFF6600,true);
for(var i:Number=0;i<10;i++) {
createButton(this,"button"+i,0,i*22,100,22,fmt);
}
боюсь что код для новичка сложноват, хотя если посидеть с хелпом часика три, разобраться можно.
|