Показать сообщение отдельно
Старый 01.10.2006, 19:09
pkfun вне форума Посмотреть профиль Отправить личное сообщение для pkfun Посетить домашнюю страницу pkfun Найти все сообщения от pkfun
  № 7  
Ответить с цитированием
pkfun

Регистрация: Feb 2006
Сообщений: 580
Программа редактор это собственно KoolMovies и есть. Для того чтобы было понятно как код завязан на эту программу, выкладываю вариант который лежит открыто в папке MotionScripts этой программы(разработчики в help сами указывают на эту папку, для тех кто хочет сам поэксперементировать со встроенными эффектами):
Код:
//В этой функции задаем параметры эффекта. Она выполняется ОДИН раз.
// main_init function
main_init = function(mc){
 subs_done = true;
 i1 = new flash.display.BitmapData(mc._width,mc._height,0,0x808080);
 i2 = i1.clone();
 perlin ? i2.perlinNoise(base_x,base_y,octaves,new Date(),0,1,6) : i2.noise(new Date());
 filter = [new flash.filters.DisplacementMapFilter(i1,i1.rectangle.topLeft,4,2,disp_x*2,disp_y*2,'color')];
 if (!out_effect) mc._alpha = 0;
}

//Это сам эффект. Выполняемся столько раз сколько надо.
//Первое срабатывание сильно искаженный объект, последнее нормальный.
// main_effect function
main_effect = function(mc,frame){
 p = frame / lastsubframe;
 if (!out_effect) p = 1 - p;
 i1.fillRect(i1.rectangle,0x80808080);
 i1.merge(i2,i2.rectangle,i2.rectangle.topLeft,0,p*256,p*256);
 mc.filters = filter;
 mc._alpha = 100-p*100;
 if (scaling) mc._xscale = mc._yscale = mc._alpha;
 if (frame == lastsubframe){
  mc.filters = undefined;
  end_effect = true;
  i2.dispose();
  i1.dispose();
 }
}

// sub_init function

sub_init = function(mc){
}

// sub_effect function

sub_effect = function(mc,frame){
}
Если убрать эффект PerlinNoise, тоже классный эффект получается.


Последний раз редактировалось pkfun; 01.10.2006 в 19:12.