为了账号安全,请及时绑定邮箱和手机立即绑定
通俗易懂,讲的很好。

最新回答 / Hou_
setInerval第一次运行(先render函数 然后update函数 这时里面next 和cur的时间都是一样 假设都是3秒 也就倒数时间还剩3秒) 50毫秒刷新一次 还是不会变  1000毫秒(1秒)后  再运行render 然后 update 这时update里面next获取了一个新的时间 就是2秒  和原来的cur不等 于是就将新的剩余时间赋值给cur 下次再执行render函数的时候 画布的时间就会变了 就这样一次次循环倒数下去了
撒花,谢谢老师
仔细看点阵的1就是绘制的那个数字图形
猛的一批,在这个用户体验的新时代中,canvas绝对无意是主流了。
自己跟着老师打,实现的时间效果,预览地址:https://kuro-p.github.io/Electronic-watch/main.html
https://github.com/Mrk2016w/Canvas-doges-candy-clock
基于课程源码予以修改,小球两侧回弹,整合了时钟和计时器,能根据输入时间来进行倒计时,一起交流学习~
老师厉害啊,开场惊艳到我了~666~~~
用webstorm的来举个手
今天争取把老师的课全学完
写完不出现小球,可以试下
var aball = {
x : Number(margin_left+x+(2*j+1)*(radius+1)),
y : Number(margin_top+y+(2*i+1)*(radius+1)),
vx : Number(4*Math.pow(-1,parseInt(1000*Math.random()))),
vy : -10,
g : Number(2+3*Math.random().toFixed(1)),
color : colors[Math.floor((colors.length)*Math.random())]
};
自己按照热评用splice写,不可以,遍历出错,因为改变了的数组长度,
下面是自己想到的一个方法,试了可以

/*判定小球是否在界内,如果在界内则保存在数组cnt里*/
var cnt = [];
for(var j=0;j<balls.length;j++){
if(balls[j].x+radius>0 && balls[j].x-radius<canvas.width){
cnt.push(balls[j]);
}
}
balls = cnt;
哈哈哈,我也在new Date().getTime()上面翻了车!!
得到的数字是相对于1970年的,自然在update()中找不到digit对应的值。
而直接通过new Date().getHours() + ... + ... 这样获取的实际上是之多一天走过的秒数,自然是正确的
课程须知
1.要对HTML+CSS相关标签有所掌握;2.对网页布局知识有简单的了解;3.掌握一定的JS基础知识
老师告诉你能学到什么?
通过学习Cancas倒计时效果的基础知识:比如球形的绘制,动画的基础原理,让Canvas帮助我们制作出绚丽的效果,力图每一个课程除了介绍知识,还能帮助大家使用Canvas制作出属于自己的动画和游戏作品。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消