024_折线数据图齐头并进效果制作
2021-08-16 本文已影响0人
孤洁大大
准备工作:
01-用钢笔绘制2条或者2条以上折线形状图层;
02-新建一个空对象作为数值控制器(此处是滑块控制器-Slider Control)
准备工作
添加表达式
最终效果
表达式代码:
//1.定义路径
path = content("Shape 1").content("Path 1").path
//2.定义路径上点的数组
var arr = path.points();
//3.获取所有点的x坐标
arr_x = Array.from(arr, x => x[0]);
//4.设置目标点的x值(这里的控制器 可能你要自己连一下)
var x_pos = thisComp.layer("Slider Contorl").effect("Offset")("Slider")
arr_x.push(x_pos);
arr_x.sort(function(a, b){return a-b});
//5.找到目标点在所有点的位置
x_index = arr_x.indexOf(x_pos);
//6.计算目标点的y值
y_pos = linear(x_pos,arr[x_index-1][0],arr[x_index][0],arr[x_index-1][1],arr[x_index][1]);
//
points = arr.slice(0,x_index);
points.push([x_pos,y_pos]);
//7.重新生成路径
path.createPath(points,[],[],false);