![]() |
|
||||||||||
|
|||||
|
Регистрация: Feb 2007
Сообщений: 264
|
Цитата:
/* mc - мувиклип на сцене. Как его туда поместить решайте сами.*/
//
import flash.filters.BlurFilter;
import mx.transitions.*;
import mx.transitions.easing.*;
//
var prevX:Number = mc._x;
var blurStrength:Number = 5;
//
var tw:Tween = new Tween(mc, '_x', Strong.easeOut, 10, Stage.width-mc._width, 2, true);
tw.onMotionChanged = function():Void {
var dif:Number = ((mc._x-prevX)/10)*blurStrength;
prevX = mc._x;
if (dif>5) {
dif = 5;
}
var ar:BlurFilter = mc.filters[0];
if (ar) {
ar.blurX = ar.blurY=dif;
} else {
ar = new BlurFilter(0, 0, 2);
}
mc.filters = [ar];
};
tw.onMotionStopped = function():Void {
mc.filters = [];
};
Последний раз редактировалось this.create; 09.07.2007 в 15:05. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Ага, только это совсем не моушн блюр, this.create.
Это проходящий блюр. Чтобы было похоже, надо под неразмытым шариком пускать размытый, на некотором отдалении, как бы отстающий. Ну и, наверное, неразмытому альфу поставить где-то 80%.
__________________
Reality.getBounds(this); |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Вот, выложил исходник
![]()
__________________
Reality.getBounds(this); |
|
|||||
|
Спасибо вам за исходник!
Вы мне им очень помогли, ведь это именно то, что я искала все эти дни и не находила своими силами.
__________________
www.coursebird.com |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
О нет, спасибо LiQuiDaToR'у. За то, что не только сделал это, но и поделился со всеми. Еще раз удачи!
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Aug 2005
Сообщений: 785
|
Блик как там всё намудренно
а ведь можно всё намного проще сделать.... import flash.filters.BlurFilter;
obj.onEnterFrame = function() {
X = _xmouse-this._x;
Y = _ymouse-this._y;
D = Math.sqrt(X*X+Y*Y)/10;
this._x += X/8;
this._y += Y/8;
var filter:BlurFilter = new BlurFilter(Math.abs(X/8), Math.abs(Y/8), 1);
var filterArray:Array = new Array();
filterArray.push(filter);
this.filters = filterArray;
};
__________________
Нано-флешер (в отставке) |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Therion, неужели ты разницы не видишь? Совсем-совсем?
Попробуй провести свой обж по диагонали. Заодно обрати внимание на производительность.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Aug 2005
Сообщений: 785
|
ну да, по диагонали эффект не такой...но производительность вроде не хуже...
__________________
Нано-флешер (в отставке) |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
О нет, гораздо хуже, извини. В результате действия твоего скрипта объект мигает как патрульная машина и всё таки скорее просто размывется, чем размывается в определенном направлении. Поверь, если бы такой эффект можно было создать нахрапом, с первого наброска... Но нет, здесь продумать надо, сначала декодировать явление, а уж потом закодировать его в ас. А производительность - момент настолько тонкий, что под силу только ниндзям, знающим особенности аппаратной работы.
В этом уникальность кода LiQuiDaToR'а. Со всем уважением.
__________________
Reality.getBounds(this); |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Therion, это не Motion Blur. Motion Blur действует параллельно вектору скорости, а у тебя вообще просто размывает объект.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 00:32. |
|
|
« Предыдущая тема | Следующая тема » |
|
|