| sector_222 |
22.02.2009 18:27 |
onEnterFrame
добрый день - пытаюсь сделать плавный переход из цветного в чёрнобелый
во код функции
Код AS1/AS2:
//Процедура перехода картинки из черно-белого состояния в цветное
function saturate(image) {
this.onEnterFrame = function() {//в каждом кадре
var len:Number = default_matrix.length;
while (len--) {//модифицируем текущую матрицу поэлементно
img_matrix[len] += (default_matrix[len]-new_matrix[len])/speedInFrames;
}
filter.matrix = img_matrix;//применяем матрицу к фильтру
image.filters = [filter];// а фильтр к клипу с изображением
frame++;// инкременируем счетчик
if (frame>=speedInFrames) {
this.onEnterFrame = null;
frame = 0;
//Когда счетчик дошел до оконечного значения, обнулим его и закончим анимацию
}
};
}
но проблема скорее всего в том что функция onEnterFrame уже вызываеться мной для прокрутки мувиков,
Код AS1/AS2:
function scrolling() {
_root.onEnterFrame = function() {
//движемся по оси у увеличивая на шаг
if((mask_mcV._xmouse > 0)&&(mask_mcV._xmouse < _root.vert_width)&&(mask_mcV._ymouse > 0)&&(mask_mcV._ymouse < _root.vert_height))
{
container_mcV._y += Math.cos(((mask_mcV._ymouse)/mask_mcV._height)*Math.PI)*5; //5 - скорость промотки
}
if (container_mcV._y>mask_mcV._y) {
container_mcV._y = mask_mcV._y;
}
if (container_mcV._y<(mask_mcV._y-(container_mcV._height-mask_mcV._height))) {
container_mcV._y = mask_mcV._y-(container_mcV._height-mask_mcV._height);
}
if((mask_mcZ._xmouse > 0)&&(mask_mcZ._xmouse < _root.goriz_width)&&(mask_mcZ._ymouse > 0)&&(mask_mcZ._ymouse < _root.goriz_height))
{
container_mcZ._x += Math.cos(((mask_mcZ._xmouse)/mask_mcZ._width)*Math.PI)*5; //5 - скорость промотки
}
if (container_mcZ._x>mask_mcZ._x) {
container_mcZ._x = mask_mcZ._x;
}
if (container_mcZ._x<(mask_mcZ._x-(container_mcZ._width-mask_mcZ._width))) {
container_mcZ._x = mask_mcZ._x-(container_mcZ._width-mask_mcZ._width);
}
};
}
т.е происходит взаимное подавление - по подиночке эти функции работают. вопрос: как с этим бороться??? :eek:
|