Привет всем!
И снова вопрос! :blush:
Копался уже 4 дня, перебрал кучу примеров... но сдвиг не сильный. :clap:
(а вот изучать флеш с 0'ля как-то все времени нехватает :blush: )
В приаттаченном файле есть видео-пример
(маленький swf) того что пытаюсь сделать.
Свиду все вроде просто... но вот что-то не получается :мда:
Злость берет....
Сценарий (
Action Script 2.0):
0.
- mc двигается с права налево с постоянной скоростью. все три части. после третьей переход на первый кадр и стоп.
1.
- первая часть:
mc (alpha=0; blur=y10,x10) плавная анимация фильтра и альфы =
mc (alpha=100; blur=y0,x0)
2.
- вторая часть: некоторое время при alpha=100; blur=y0,x0 mc продолжает двигаться.
3.
- третья часть:
mc (alpha=100; blur=y0,x0) плавная анимация фильтра и альфы =
mc (alpha=0; blur=y10,x10)
(таже первая часть только проигранная наоборот, правда ролик продолжает двигаться)
возможно может можно :blush: сделать "повтор" кода намации для фильтра альфы... но не наю правильно ли это...
Вот собственно и все.
Все делаеться как можно меньше размером.. поэтому и выбран AS
Ноно сделать без:

Код:
import mx.transitions.Tween;
import mx.transitions.easing.*;
(прибавляет весу)
После видео-примера прилагаю те варианты от которых отталкивался чтоб написать данный скрипт.
Также вот коды из тех примеров (чтоб не париться с скачкой и открыванием)
01.цикл.fla

Код:
import flash.filters.BlurFilter;
my_mc.filters = [new BlurFilter()];
var dir:Number = 1;
my_mc.blur = 10;my_mc.onEnterFrame = function() {
my_mc.blur += dir;
if ((my_mc.blur >= 30) || (my_mc.blur <= 10)) {
dir *= -1;
}
var filter_array:Array = my_mc.filters;
filter_array[0].blurX = my_mc.blur;
filter_array[0].blurY = my_mc.blur;
my_mc.filters = filter_array;
};
02.red_dot.flv

Код:
import flash.filters.BlurFilter;
var targetX:Number = 200;
var velocity:Number = 20;
var distanceX:Number;
var movementX:Number;
var blurAmount:Number = 10;
var blur = new BlurFilter(blurAmount, blurAmount, 1);
blurAmount = 10;
// mc._x = 200;
mc.filters = [];
mc.onEnterFrame = function():Void {
blurAmount-=0.1;
blur.blurX = blur.blurY=blurAmount;
mc.filters = [blur];
distanceX = targetX-this._x;
movementX = distanceX/velocity;
this._x += movementX;
if (Math.abs(this._x-targetX)<1) {
blurAmount+=0.5;
mc.filters = [blur];
distanceX = targetX-this._x;
movementX = distanceX/velocity;
this._x += movementX;
}
// delete this.onEnterFrame;
};
03.без_остановки.fla

Код:
import flash.filters.BlurFilter;
my_mc.filters = [new BlurFilter()];
var dir:Number = 1;
my_mc.blur = 10;
my_mc.onEnterFrame = function() {
my_mc.blur -= dir;
if (my_mc.blur <= -1) {
dir *= -1;
}
var filter_array:Array = my_mc.filters;
filter_array[0].blurX = my_mc.blur;
filter_array[0].blurY = my_mc.blur;
my_mc.filters = filter_array;
};
04.самое_простое.fla

Код:
import flash.filters.BlurFilter;
var gf:BlurFilter = new BlurFilter(10, 10, 3);
this._x = 20.4
this._y = 20
this._alpha = 0;
this.filters = [gf];
this.onEnterFrame = function() {
if (gf.blurX > 0) {
gf.blurX-=1;
gf.blurY-=1;
}
if(this._alpha<100){
this._alpha+=5;
}
this.filters = [gf];
};
Ребятушки помогите если не сложно!
СПАСИБО!