« プログラミング講座(56) 地球時計 | トップページ | プログラミング講座(58) アナログ時計そして和時計... »

2011/04/26

プログラミング講座(57) 文字盤と地球の影の処理

地球時計に文字盤と地球の影の処理を追加しました。プログラムを PPH681-0 で発行しました。

地球時計は24時間で反時計回りに回転するので、文字盤も反時計回りで24等分します。1時間おきだと狭いので、2時間おきにしました。

影は地球の公転軌道面と地軸の角度66.5°を元に12か月の影の形を別プログラムで計算しビットマップにしました。この影のイメージを Shapesオブジェクトで北半球のイメージに重ねて表示しています。影の部分が多少透けて見えるように、Shapes.SetOpacity() の第2引数に 60 を与え、60%を影、40%は地球が透けるようにしました。

Earthclock02
【図58 地球時計 v0.2】

このプログラムは日本では正しく動きますが、日本と違うタイムゾーンの国や地域ではうまく動きません。日本以外ではローカルタイムを入れている rLocal と都市を指定している iCity を変更する必要があります。

他の国や地域の時間を表示するためには、Time.Hour などで得られるローカルタイムに時差を足したり引いたりする処理が必要になります。繰り上がりや繰り下がりにより、年月日も影響を受けるので、日付と時間の足し算、引き算を作ることになります。この処理のプログラミングは今回は省略したいと思います。

地球時計の作成はここまでとし、次回は江戸時代の不定時法による時計を作ってみたいと思います。

(つづく)

|

« プログラミング講座(56) 地球時計 | トップページ | プログラミング講座(58) アナログ時計そして和時計... »

Small Basic」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: プログラミング講座(57) 文字盤と地球の影の処理:

« プログラミング講座(56) 地球時計 | トップページ | プログラミング講座(58) アナログ時計そして和時計... »