時計には文字盤が必要です。文字盤を描画する JavaScript 関数を作成します:
function drawClock() {
drawFace(ctx, radius);
drawNumbers(ctx, radius);
}
function drawNumbers(ctx, radius) {
var ang;
var num;
ctx.font = radius*0.15 + "px arial";
ctx.textBaseline="middle";
ctx.textAlign="center";
for(num= 1; num < 13; num++){
ang = num * Math.PI / 6;
ctx.rotate(ang);
ctx.translate(0, -radius*0.85);
ctx.rotate(-ang);
ctx.fillText(num.toString(), 0, 0);
ctx.rotate(ang);
ctx.translate(0, radius*0.85);
ctx.rotate(-ang);
}
}
Try it Yourself »
描画オブジェクトのフォントサイズを半径の 15% に設定します:
ctx.font = radius*0.15 + "px arial";
テキストの位置揃えに印刷位置の中間と中央を設定します:
ctx.textBaseline="middle";
ctx.textAlign="center";
印刷位置(12 個の数値)を半径の 85% で計算し、各数値の角度(PI/6)を計算します:
for(num= 1; num < 13; num++) {
ang = num * Math.PI / 6;
ctx.rotate(ang);
ctx.translate(0, -radius*0.85);
ctx.rotate(-ang);
ctx.fillText(num.toString(), 0, 0);
ctx.rotate(ang);
ctx.translate(0, radius*0.85);
ctx.rotate(-ang);
}