Тема: onEnterFrame
Показать сообщение отдельно
Старый 22.02.2009, 18:27
sector_222 вне форума Посмотреть профиль Отправить личное сообщение для sector_222 Найти все сообщения от sector_222
  № 1  
Ответить с цитированием
sector_222
 
Аватар для sector_222

Регистрация: Jul 2008
Сообщений: 72
Question 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);
		}
 
 
	};
}

т.е происходит взаимное подавление - по подиночке эти функции работают. вопрос: как с этим бороться???