Просмотр полной версии : Привязка blur к скорости
rem345690
09.01.2009, 12:51
есть вот такой вот код.... Непонимаю как можно привязать myBlur к скорости this при перемещении по х
погогите пожалуйста. ;)
//
onClipEvent (load) {
var myBlur = new flash.filters.BlurFilter(15, 0, 3);
var myTempFilters:Array = this.filters;
myTempFilters.push(myBlur);
this.filters = myTempFilters;
function fncMoveTo(y, x, speed) {
this._x += (x-this._x)*speed;
this._y += (y-this._y)*speed;
}
targetx = x;
targety = y;
}
onClipEvent (enterFrame) {
this.fncMoveTo(this._y,targetx, .15);
}
amexdesign
09.01.2009, 13:07
в смысле как привязать? чтобы myBlur по мере приближения к конечной точке уменьшался и сводился к 0?
в смысле как привязать? чтобы myBlur по мере приближения к конечной точке уменьшался и сводился к 0?
По-моему, название темы говорит о скорости.
rem345690
09.01.2009, 15:06
чем быстрее перемещается this тем больше размытие. вот. сейчас влюр по горизонтали = 15 ... а нужно что сила блюра зависила от скорости перемещения
Так,во первых отказаться от кода в мувике,написать все в кадре(правильно),в хелпе почитать про watch и BlurFilter.
Как станет понятно,что Blur надо менять первый параметр,т.е. в вашем случае должны быть не 15, а параметр,зависящий от скорости мувика,тут watch Вам в помощь.
Можно вот так(не знаю какое Вам нужно размытие,поколдуете):import flash.filters.BlurFilter;
//
mc.watch("blur",blur_speed,mc);
mc.onEnterFrame = function() {
this.blur = 0.05*this._x;//параметры блюра
this._x += (0+this._x)*0.02;
};
function blur_speed(prop:String, oldVal:Number, newVal:Number, mc:MovieClip) {
var bl:BlurFilter = new BlurFilter(oldVal, 0, 2);
mc.filters = [bl];
return newVal;
}
rem345690
09.01.2009, 16:21
попробовал.... неблюрит..... а зачем там "mc" ?
попробовал.... неблюрит..... а зачем там "mc" ?
Не верю,во первых отказаться от кода в мувике,написать все в кадре
Это читали?Или мне за Вас исходник выложить?!
mc - это имя клипа,который на сцене находится.
rem345690
09.01.2009, 17:46
да это я сделал.... еще убрал вот это "this._x += (0+this._x)*0.02;" т.к это задоет движение а движения у меня задается функцией"fncMoveTo" .... да и блюр щас пропорционален не скорости перемещения а удалению по оси х .... ;)
блюр меняется?Вопрос решен.
А остальное - это Ваша задача.
rem345690
09.01.2009, 18:47
;) в любом случае СПАСИБО
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.