針のある時計はすべてアナログ式なのかということを考えてもらうために作ったページです。ここに示したのは確かにアナログと言えますが、デジタルな針式時計を前のページに示しました。
時々止まったり急に進んだりもあるかも知れませんが、ハードウェアの力不足やソフトウェアの都合によるものです。
Javascriptです。デジタルな針式時計とほとんど同等です。
異なるのはfunction hariclock()内の3箇所。一つ目はDate()からミリセカンドの値を取り出してmsecに代入すること。
var now = new Date(); var hour = now.getHours(); var mint = now.getMinutes(); var sec = now.getSeconds(); var msec = now.getMilliseconds();
2つ目はmsecをsecに加えて、秒針を1/1000で動かすこと。
haril = 0.9; hariw = 0.01; harib = 0.1; g.fillStyle = '#ff0000'; draw1hari(sec+msec/1000,haril,hariw,harib);
3つ目は繰り返しを5/1000秒に早めること。1/1000でもよいが5/1000でも見た目が変わらないので負担を減らすために5とした。
setTimeout('hariclock()',5);
5/1000秒ごとにしか変化しないので、厳密にはデジタルな動きなのだが、人間が目盛の中間の値を無段階に読み取れるように感ずることがアナログ表示の本質です。