关于一个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)
有没有大神能够详细给我解释一下呢 真心的感谢了
展开
 我来答
ranger27
2012-12-24 · TA获得超过1140个赞
知道小有建树答主
回答量:243
采纳率:0%
帮助的人:421万
展开全部
就是把你给的秒数,换算成多少分多少秒

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……

完毕
谬误之处还请高手指出
44033360
2012-12-13 · TA获得超过1万个赞
知道大有可为答主
回答量:1.7万
采纳率:67%
帮助的人:5425万
展开全部
你认为能懂这个表达示的人 会上百度知道吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式