若幹久以前看過一個帖子,帖子的主人記不清了,他在用表達式建電視牆的時候,沒有解決變量傳遞的問題,我當時下載了他的表達式.前不久整理硬盤的時候發現了,就在他的基礎上改進了這個新的表達式以解決變量傳遞的問題.
這是表達式:
新建一com720*576),新建一solid 1(720*576),給scale加expression
表達式如下:
===============================
step=4;
w=this_comp.width;
solid_x=(w/step-5)/w*100;
[solid_x,solid_x]
===============================
再給solid 1的position加expression
表達式如下:
===========================================
step=4;
n=this_layer.index;
solid_x=this_comp.width/step;
solid_y=this_comp.height/step;
a=Math.floor((this_layer.index-1)/step); //或者為:a=Math.ceil(this_layer.index/step)
if(n<=step)
{
position_x=solid_x/2+(n-1)*solid_x;
position_y=solid_y/2;
}
else if(n>a*step,n<=(a+1)*step)
{
position_x=solid_x/2+(n-a*step-1)*solid_x;
position_y=solid_y/2+a*solid_y;
}
[position_x,position_y]
============================================
選中solid 1層,按ctrl+d十五下,複製,共十六層會自動排列為一個電視牆.(step的值可變,不過要保持position和scale中的step值一致).
還沒到能寫教程,轉一下學習!~