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

2024-11-27 21:01:26
推荐回答(2个)
回答1:

就是把你给的秒数,换算成多少分多少秒

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<10) return "0" + n else return "" + n
}
判断显示的秒数,如果是个位数,就在前面加个“0”
从5秒开始倒计时(clockStart = 5),会显示成05,04,03……

完毕
谬误之处还请高手指出

回答2:

你认为能懂这个表达示的人 会上百度知道吗?