为了账号安全,请及时绑定邮箱和手机立即绑定
不用closePath()还是会少根线 (滑稽)
把圆形像素换成矩形像素也挺好看的
代码在此http://www.imooc.com/article/16544
源码在:https://github.com/lensh/html5/tree/master/html5/canvas/clock
欢迎 follow & star !!
做了适当的修改,实现了球碰到两侧的壁会反弹,最终会停下来。源代码:
https://github.com/lensh/html5/blob/master/html5/canvas/physics/index.html
欢迎star & follow
效果没出来的你仔细看看是不是这里的问题!!!
if( nextSeconds != curSeconds ){
curShowTimeSeconds = nextShowTimeSeconds;
}
Uncaught TypeError: Cannot read property 'length' of undefined
原因是得到的num值是大于9的,超出了数组的范围,为什么会大于9呢?因为我们要做的倒计时时分秒都是两位数的,所以要控制在四天之内(100/24=4),不然num值会大于9。
解决办法:将endTime设置为四天以内的时间,假如现在是2017.2.18,那么就应该设置为var endTime = new Date(2017,1,22,18,47,52); 之所以是1,是因为0对应1,1对应2。
我自己写了一下在chrome下可以看到,但是在firefox里只有个canvas的边框
想用splice就这样写吧
while (cnt != balls.length) {
if (balls[cnt].x + RADIUS < 0 || balls[cnt].x - RADIUS > WINDOW_WIDTH) {
balls.splice(cnt, 1);
} else {
cnt++;
}
}
你们不能更新时间的有可能是因为在update里加了curShowTimeSeconds=getShowTimeSeconds()这句话
老师用nextShowTimeSeconds原因应该是在更新时间之前要干一些事情,要是不控制,直接用定时器来更新curShowTimeSeconds的话,不能确保在更新时间之前把需要做的事情做完
其实可以用for循环来绘制这个时钟的,我尝试了一下,和老师的效果是一样的,代码在这儿
http://www.imooc.com/article/16393
楼下,for循环不加花括号,是会执行第一个语句块的,这是基本的常识
这节课的知识点,老师也说的很清楚明了了我觉得,要是听不懂的,建议还是去把基础只是都学好再来吧
http://www.imooc.com/article/16390
动态设置七巧板的数组,只要设置好宽高,再加上老师的canvas代码绘制,就能在网页上随意绘制任意宽高的七巧板,上面的数组的地址
课程须知
1.要对HTML+CSS相关标签有所掌握;2.对网页布局知识有简单的了解;3.掌握一定的JS基础知识
老师告诉你能学到什么?
通过学习Cancas倒计时效果的基础知识:比如球形的绘制,动画的基础原理,让Canvas帮助我们制作出绚丽的效果,力图每一个课程除了介绍知识,还能帮助大家使用Canvas制作出属于自己的动画和游戏作品。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消