アナログ時計って難しい・・・③
どうもおはようございます。
クローバーフィールドの伊関です。
昨日は久方ぶりの雨でしたが、
何もこんなに寒くなる必要はないんじゃないでしょうか?
さて、第一回、二回にわたってC#でアナログ時計の製作前の復習兼解説を行ってきたわけですが、
今回やっとこさその制作に取り掛かっていきたいと思います。
1、タイマーを配置し、現在時間を入れる。そしてFormのクラスにタイマーがスタートするように入力する。
2、原点(一先ず座標は0,0)と針の長さ(一先ず100)を設定する。
3、針が動くように表示させるために、秒数に従い順次配置される座標を設定する。変数値は第二回で開設したサインコサインの計算を座標位置として設定。
4、座標だけでは時計の様に回ってくれないので、引数としてπ(PI)を定義し、秒数に従って6度ごとに動くようにサインコサインの部分に入力。
5、第一回で解説した線を出力するコードを挿入し、原点と針の座標変数を挿入する。
6、今のセンターの座標では中心位置がウィンドウの左端になってしまうのでセンターの初期値を(150,150)とした変数を挿入し、相対的に動かす。
7、秒針の角度を調整するために90°分引く。
8、残像を消すために「消して⇒描く」という工程を第一回で説明したClearを使って行う。
9、コードの羅列を整理するために作成していた針の設定をメソッド化し、分針、時針に設定を埋め込んでいく。同時にClearの位置も調整。
10、秒針、分針、時針それぞれの倍率、色、時間、針の長さを設定し完成。
で、こんなんできます↓
以上です。
何ともながい・・・・。
デジタルのストップウォッチならこの3分の1くらいの工程で良いんですが、
実際、図を動かすというのはここまで大変なのかと大いに勉強になりました。
しかし伊関がこんなものはまだまだ序の口なんだなと気づくには
そう時間はかからなかった・・・(匂わせるやつ)
引き続き精進いたします!!
では!