首页 > 解决方案 > 源文本倒计时的 AfterEffects 脚本

问题描述

我正在为 Countdown 编写一个脚本,它clockStart从图层的源文本中获取文本。我可以clockStart通过注释代码中的其余行来看到它正在获得价值。它向我展示了clockStart.

rate = -1;
clockStart = thisComp.layer(1).text.sourceText.value;

function padZero(n){
if (n < 10) return "0" + n else return "" + n
}

clockTime = Math.max(clockStart + rate*(time - inPoint),0);

t = Math.floor(clockTime);
hours = Math.floor(t/3600)
min = Math.floor((t%3600)/60);
sec = Math.floor(t%60);
hours + ":" + min + ":" + padZero(sec)

随着时间线开始移动,它显示为 NAN:NAN:NAN。但是,如果为 clockStart 输入一个静态值,例如clockStart= 4500. 倒计时有效。我可以知道从源文本获取时我哪里出错了吗

标签: javascriptadobeextendscriptafter-effects

解决方案


以下代码的输出是 NULL 或字符串。

clockStart = thisComp.layer(1).text.sourceText.value;

您必须将其转换为整数,以便对其进行数学计算:

clockStart = thisComp.layer(1).text.sourceText.value;
clockStart = parseInt(clockStart);

推荐阅读