時計Widget覚書:針の回転

Yahoo! Widget Engine(旧Konfabulator)用の時計Widgetを作る時の覚書。

360度回転する基本的な時計の場合(interval=”1″):

時針名.rotation=(時間*30)+(分*6);
分針名.rotation=(分*6)+(秒*6);
秒針名.rotation=(秒*6);

レトログラード仕様の場合(角度=”X”, interval=”1″):

時針名.rotation=始点角度+(時間*(X/12))+(分*(X/60));
分針名.rotation=始点角度+(分*(X/60))+(秒*(X/60));
秒針名.rotation=始点角度+(秒*(X/60));

※実際の計算値に小数点以下がある場合、小数点以下は表示角度に反映されない。

秒針に弾みを加える場合(360度, interval=”1″):

秒針名.rotation=((秒*6)+1);
    sleep(50);
秒針名.rotation=(秒*6);

※レトログラードの場合、角度によっては1度の弾みでは大きすぎて目障りな場合がある。このような場合は微妙に角度を付けた画像を用意して角度ではなく画像を入れ替えてそれらしく見せることもできる。(Retrograde3で使用)

秒針に弾みを加える場合(120度, interval=”1″, 画像を使用):

秒針名.rotation=(秒*2);
秒針名.src=”画像の場所/画像1″;
    sleep(50);
秒針名.src=”画像の場所/画像2″;