ET CETERA
コンピュータ IT
- カレンダーアプリ《MyCalendar》Android
- カレンダーアプリ《予定表》Android
- InkScapeでイラスト
- NetBeans11の日本語化
- 進捗バー付きスライダー
- アナログ時計を作ってみた
- InkScape:タイルクローンで円周方向にコピー
- FFFTPで転送した画像が壊れていた
工作
- 消防自動車
- ゴミ収集車
- ゴム銃・マシンガンの説明ビデオ
- キッズチェアを作る
- ゴム銃2作目を作った
- ボール盤を改造
- イチジョウマン7の上着
- イチジョウマン7のヘッドバンド
- そうめんの箱製ひな壇
- レトロな木製ロボット
- 能面を打つ
- ストーブガード
- イチジョウマン7のベルト
ガーデン
アナログ時計を作ってみた
パソコン上でデジタルな時計を表示するのは簡単です。しかし、アナログ時計となると長針、短針、秒針と進めていく必要があるので工夫が必要です。
そこでこちらのサイトを参考?(殆どまる写し)に頭の体操も兼ねてアナログ時計を作ってみました。
アナログ時計の部品
画像は全部GIMPで作りました。やはりドロー系のInkscapeで作るべきでした。
部品の画像は重ねて使うため同じサイズで、さらに針の回転を考え中心を揃えて作成しました。
目盛盤:周りのグリーンの縁と目盛盤と二つのレイヤーに分けてます。目盛はコピペで増やしていきました。
時計の針:短針、長針、秒針、それぞれファイルが別です。動かすために当然ですが別に作りました。
アナログ時計の各コード
アナログ時計のスクリプト、CSSです。
$(function(){
// アナログ時計
setInterval("moveTimer()", 1000);
});
// 時計の動き
function moveTimer(){
// 日付取得
var date = new Date();
// 時間取得
var Hou = date.getHours();
var Min = date.getMinutes();
var Sec = date.getSeconds();
// 針の角度取得
var hDeg = (Hou % 12) * (360 / 12);
var mDeg = Min * (360 / 60);
var sDeg = Sec * (360 / 60);
// 短針と長針の角度調整(秒針が進むたびに短針も長針もそれにあわせ少しずつ進む)
hDeg += (Min / 60) * (360 / 12);
mDeg += (Sec / 60) * (360 / 60);
// 短針表示
document.getElementById("image_short").style.transform =
"rotate(" + hDeg + "deg)";
// 長針表示
document.getElementById("image_long").style.transform =
"rotate(" + mDeg + "deg)";
// 秒針表示
document.getElementById("image_sec").style.transform =
"rotate(" + sDeg + "deg)";
}
#analogClock {
position: relative;
width: 150px;
height: 150px;
}
.clock {
position: absolute;
top: 0;
left: 0;
}
- 参考にさせていただいたサイト
- すごく分かりやすいサイトです。各針の動き(角度)がよく理解できます。
- http://www.shurey.com/js/craft/aclock/