绘制时钟
时钟动态效果的实现基于canvas画布的重绘,也就是说每秒都要在canvas画布上重新绘画一遍图形,在配合定时器即可实现动态效果。而实现此时钟主要有两个步骤,1是表盘的绘制,2是指针的绘制。
绘制时钟表盘
时钟表盘的刻度分为两种,一种是时刻度,一种是秒或分刻度。
- 先使用cnavas创建空心的圆
2,使用canvas中的旋转和画布状态来刻画表盘的时刻度。只需要每次都在表盘中心也就是圆心的正上方绘制一个刻度,然后将canvas画布旋转30deg重复此操作。
cxt.save()
// 重设画布的原点,以画布中心为原点
cxt.translate(250,250)
cxt.lineWidth = 5;
// 设置旋转角度 参数是弧度Math.PI / 180 * 30
cxt.rotate(Math.PI / 180 * 30 * 0)//第一次画布不旋转,随后每次旋转30deg
cxt.beginPath()
cxt.moveTo(0,-180)
cxt.lineTo(0,-195)
cxt.stroke()
cxt.closePath()
cxt.restore()
上图效果是当canvas画布不旋转时绘画的第一个刻度,随后每绘画一个刻度完成,便需要将画布旋转30deg,然后在绘制刻度,而此操作需要重复多次,所以只需将以上代码放入循环之中便可。
// 刻度,利用旋转
// 时刻度
for(var i = 0;i < 12;i++){