关于一个AE倒计时的表达式问题
rate=-1.1;clockStart=5;functionpadZero(n){if(n)return""+nelsereturn""+n}clockTime=Mat...
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)
有没有大神能够详细给我解释一下呢 真心的感谢了 展开
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)
有没有大神能够详细给我解释一下呢 真心的感谢了 展开
2个回答
展开全部
就是把你给的秒数,换算成多少分多少秒
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……
完毕
谬误之处还请高手指出
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……
完毕
谬误之处还请高手指出
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询