作业帮 > 数学 > 作业

关于一个AE倒计时的表达式问题

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/05/04 08:10:57
关于一个AE倒计时的表达式问题
rate = -1.1;clockStart = 5;
function padZero(n){
if (n) return "" + n else return "" + n
}
clockTime = Math.max(clockStart + rate*(time - inPoint),0);
t = Math.floor(clockTime);
min = Math.floor((t%3600)/60);
sec = Math.floor(t%60);
min + "" + padZero(sec)
就是把你给的秒数,换算成多少分多少秒

clockTime = Math.max(clockStart + rate*(time - inPoint),0);
设定从图层的起始点开始倒计时,当倒计时跑到零以下,它会忽略,一直返回 0
( Math.max(a,b) 就是从a,b 中选择较大的那个)

t = Math.floor(clockTime);
切掉小数部分,以整数秒倒计时,5,4,3……这样,不会是 5,4.99,4.98……

t%3600 ,t%60 都是算余数的(一小时3600秒,一分钟60秒)
比如200 ÷ 60 = 3 剩余20,所以 200秒就是3分20秒,写成200%60 = 20 (3不是余数,不管)

rate = -1.1
设定倒计时速度,rate = -1 和现实时间一样,-2 比现实快一倍

clockStart = 5
设定从5秒开始倒计时,如果让它从200秒开始倒计时,改:clockStart = 200
它会从 320 开始倒计时(3分20秒),319,318…这样

但你试试,到3分09秒它不会显示成309,而是显示39,然后38,37……
这是因为padZero功能被去掉了,原版padZero是这样的:

function padZero(n){
if (n