首页 > 编程知识 正文

js计算表达式,置位输出和复位输出

时间:2023-05-06 01:46:08 阅读:165867 作者:1287

效果图归位(back ) ) ) ) )。

公式代码和注释var s=1.70158; //“归位”的超越量///@note归位函数functionoutback(t,b,c,d ) if ) s==null ) s=1.70158; returnc*((t=t/d-1 ) t* ) ) ts )1) b; }///@note实际上调用弹性函数的缓动函数functioneaseandwizz(({varn=0; ///@note关键帧的帧数大于0的if(numkeys0) n=nearestkey ) time ).index; //获取最近关键帧的索引if (key (n ).time time )//如果最近的关键帧在当前时间之后(即时间不到) n----; //为上一个关键帧索引} } try { ///@note前后两个关键帧varkey1=key(n ); varkey2=key(n1 ); }catch(e ) { return null; }//@确定note关键帧所需的数据维度var dim=1该属性至少为一维try{key(1) [1]; //数据中有第二维度dim=2key (1) [2] //数据中有第三维dim=3} catch (e ) { } t=time - key1.time; //当前时间和前一关键帧之间的时间差d=key2.time - key1.time; //前后关键帧的时间差///@note计算关键帧上的属性,用于后期的灵活计算//一维sX=key1[0]; eX=key2[0] - key1[0]; ///@note二维if(dim=2) { sY=key1[1]; eY=key2[1] - key1[1]; ///@note维if(dim=3) { sZ=key1[2]; eZ=key2[2] - key1[2]; }if((timekey1.time )timekey2.time ) ) { return value; }基于} else { ///@note的归位计算val1=outback(t,sX,eX,d ); ///@note也同样分为三个维度进行switch(dim ) { case 1: return val1; 黑; case2:val2=outback(t,sY,eY,d ); return [val1,val2] break; case:val2=outback(t,sY,eY,d ); val3=outback(t,sZ,eZ,d ); return [val1,val2,val3] break; 默认:返回空值; }}(easeandwizz(||value );

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。