AE JavaScript在没有给出时找到Layer对象

时间:2014-10-31 03:29:51

标签: javascript after-effects

尝试使用从0到3秒加速旋转的子项创建3D形状,我使用了以下脚本

if (time < 3)
  Math.pow(time, 2)*30;

这给了我以下错误

  

After Effects警告:找到Layer类型的对象,其中有一个Number,   需要数组或属性

     

禁用表达式。

     

第0行出现错误。

     

Comp:&#39; Main&#39;

     

图层:15(&#39;蓝&#39;)

     

财产:&#39; Y轮换&#39;

Comp名称,图层名称和属性名称均有效。他们指向我试图编辑的属性。 然而,令我困惑的是我通过使用以下代码修复了它。

ctime = time;
if (ctime < 3)
  Math.pow(ctime, 2)*30;

代码现在按预期工作,我不明白为什么。

2 个答案:

答案 0 :(得分:1)

Math.pow(time^2*30);只是糟糕的代码。 Math.pow期待两个参数,你只给它一个。另外^是一个按位运算符,JavaScript中没有提升运算符,你需要使用Math.pow。

答案 1 :(得分:1)

如果条件为假,则两者会有所不同,因为没有最后要求使用的语句。
尝试:(time < 3)?Math.pow(time, 2)*30:time;