最适合网络开发者的网站
图。初学者课程

尿素

帆布 时钟指针


第四部分-画钟表指针

时钟需要指针。创建一个 JavaScript 函数来绘制时钟指针:

JavaScript的:

函数 drawClock() {
drawFace(ctx,半径);
绘制数字(ctx,半径);
绘制时间(ctx,半径);
}

函数 drawTime(ctx,radius){
var 现在 = 新日期();
var hour = now.getHours();
var 分钟 = 现在.getMinutes();
var second = now.getSeconds();
//小时
小时=小时%12;
小时 = (小时*Math.PI/6)+(分钟*Math.PI/(6*60))+(秒*Math.PI/(360*60));
drawHand(ctx,小时,半径*0.5,半径*0.07);
//分钟
分钟 = (分钟*Math.PI/30)+(秒*Math.PI/(30*60));
drawHand(ctx,分钟,半径*0.8,半径*0.07);
// 第二
秒 = (秒*Math.PI/30);
drawHand(ctx,秒,半径*0.9,半径*0.02);
}

函数 drawHand(ctx, pos, 长度, 宽度) {
ctx.beginPath();
ctx.线宽 = 宽度;
ctx.lineCap = “圆形”;
ctx.移动到(0,0);
ctx.旋转(位置);
ctx.lineTo(0,-长度);
ctx. 描边();
ctx.旋转(-pos);
}
亲自尝试 »

示例解释

使用日期获取小时,分钟,秒:

var 现在 = 新日期();
var hour = now.getHours();
var 分钟 = 现在.getMinutes();
var second = now.getSeconds();

计算时针的角度,并画出其长度(半径的 50%)和宽度(半径的 7%):

小时=小时%12;
小时 = (小时*Math.PI/6)+(分钟*Math.PI/(6*60))+(秒*Math.PI/(360*60));
drawHand(ctx,小时,半径*0.5,半径*0.07);

对分钟和秒使用相同的技术。

drawHand() 函数无需解释。它只是根据给定的长度和宽度绘制一条线。