![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
Регистрация: Oct 2007
Сообщений: 42
|
Привет всем!
И снова вопрос! :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 Ноно сделать без: (прибавляет весу) После видео-примера прилагаю те варианты от которых отталкивался чтоб написать данный скрипт. Также вот коды из тех примеров (чтоб не париться с скачкой и открыванием) 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;
};
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;
};
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;
};
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];
};
СПАСИБО! |
![]() |
Часовой пояс GMT +4, время: 10:18. |
|
|
« Предыдущая тема | Следующая тема » |
|
|