---------------------------------------------------------------------- 別冊「時計針作成法」 〜指針作成の指針〜   2003.01.13  -初稿 ---------------------------------------------------------------------- ■■0章 最初に 『針』を使った時計が付いてるスキンが、まだまだ少ないようなので その作成法をこの辺で書いてみようと思います。 ---------------------------------------------------------------------- ■■1章 時計針を作る為に踏まえておくべき事 [重要] まず「めもりーくりーなー」には以下の特徴(仕様?)があるようです。 ●背景・十桁画像・一桁画像の順に重なって表示される。 つまり一桁画像は一番手前(上)にしか表示できません。 ●指している時間が一桁台の場合は、十桁画像は表示されません。 つまり0〜9(秒でも分でも時でも)のあいだは十桁画像は表示 されていません。 ---------------------------------------------------------------------- ■■2章 秒針・分針の作成法 1.基本的構造 そもそも時計針は背景画像・十桁画像・一桁画像の三つの画像を重ねることで 『擬似的に』表示します。どういう事かというと、背景画像や十桁画像に複数 描かれた絵(針)をその手前の十桁・一桁画像で遮ることで必要な絵(針)だけを 残し、結果的に一つの針に見えるようにしています。 例)15を表示したい場合(十桁画像は1を、一桁画像は5を指す)                                手前(上)側 見える部分(針):---------------*------------------------…↑                                  | 一桁画像   :01234 678901234 678901234 678901234 6789…| 十桁画像   :0000000000 22222222223333333333…| 背景(下地)  :****************************************…| ============================================================ 上のように背景の色を各々の桁の指している数字の部分だけ抜き色にして 透過させ、手前に見えるようにしています。 2.問題点とその対策 ここで問題となってくるのが1章に●で表示した項目の一つ、「指して いる時間が一桁台の場合は十桁画像は表示されない」ということです。 どういう事かというと0〜9を表示したい時にこのままだと十桁画像が 無い為以下のように(下の場合は5を表示したい時)同時に10〜19や20〜29 などの部分も表示されてしまいます。 見える部分(針):-----*---------*---------*---------*----…                                  一桁画像   :01234 678901234 678901234 678901234 6789… 十桁画像   :                      背景(下地)  :****************************************… ========================================================== で、どうすれば良いかというと、背景に描く針の絵は0〜9を表示したい 時の分だけにし後の針は十桁画像に描いてやれば良いのです。この場合 背景の針以外の部分は一桁画像の抜き色以外の部分と同じ色にしてください。 なお十桁画像の針を描く部分は、そのとき表示したい十の桁の部分だけに します。残りの部分はまた一桁画像の抜き色以外の部分と同じ色にして ください。そうすることにより一桁画像の穴は十桁画像により必要な部分 以外見えなくなり、また0〜9を表示したい時は背景が十桁画像の代わり になります。 例)0〜9を表示したい時(下の場合は5) [記号の意味] * :針の絵 (以下同じ)  - :一桁画像の抜き色以外の部分と同じ色 見える部分(針):-----*----------------------------------… 一桁画像   :01234 678901234 678901234 678901234 6789… 十桁画像   :                      背景(下地)  :**********------------------------------… ========================================================== 上のように表示する時間が一桁台の時には十桁画像は表示されませんが 背景画像の一桁台以外の部分を一桁画像と同じにすることにより、一桁 画像の必要外の穴を埋めてしまいます。 例)0〜9以外を表示したい時(下の場合は15) 見える部分(針):---------------*------------------------… 一桁画像   :01234 678901234 678901234 678901234 6789… 十桁画像   :----------**********--------------------… 背景(下地)  :**********------------------------------… ========================================================== 0〜9以外を表示する場合には十桁画像が表示されますので、背景の代 わりに十桁画像に針を描いてしまいます。このとき表示する時間の十桁台 と同じ部分以外は一桁画像と同じ色にし、一桁画像の必要外の穴を埋めて しまいます。 例)0〜9以外を表示したい時(下の場合は28) 見える部分(針):----------------------------*-----------… 一桁画像   :01234567 901234567 901234567 901234 67 9… 十桁画像   :--------------------**********----------… 背景(下地)  :**********------------------------------… ========================================================== 後は十桁画像の表示する時間の十桁台と同じ位置に針の画像を描き それ以外の場所は一桁画像の抜き色以外の部分と同じ色を描いた 画像を各十桁台ごとに用意してやればよいです。 ---------------------------------------------------------------------- ■■3章 時針の作成法 問題となってくるのが時針の作成です。24時間計の時針にするだけなら 「秒針・分針の作成法」を時針に適用すればよいのですが、一般的な 12時間計表示の時針を作るとなるとある問題が発生します。 下記の表は横軸が24時間の一の桁を、縦軸が十の桁を表します。また 表中の数字は、その時間に表示しなくてはならない時針の場所です。 で、この表を縦軸で見た時の二つあるいは三つの数字がその縦軸の項目、 つまり一桁画像で同時に穴を開ける(抜き色にする)必要のある時針の 場所となります。そして[]と()についてですがこの二つの括弧中の数字は このままだとそれぞれ同時に表示されてしまう数字です。  | 0 1 2 3 4 5 6 7 8 9   --|-------------------------------------------- 0| [0][1][2][3][4][5][6][7][8][9] 1| 10 11 (0)(1)(2)(3)(4)(5)(6)(7)   2| (8)(9) 10 11 これらは普通に考えると秒針や分針の時のように違う桁の画像で消すことが 出来るように思われますが、ここで1章で述べた二つの特徴が問題となって 消すことが出来なくなっています。 結論から言ってしまうとこれらは回避しようが無いようです。少なくとも私は 出来ませんでした。 そこで今度は考え方を変えてみます。24Hでなら表示できるのだから無理に 12Hに変換せず、24Hのまま12Hの場所に表示する、ということです。細かく 言うと1週目の12Hの分はそのまま表示し、2週目の24Hを12Hで表示した 所から1ドットずらして表示することで見た目は12時間計の様に見せるという ことになります。 結構力業ですが1週目と2週目の時針の位置をわざわざ見比べてみる人もそう いないでしょうから…。 ---------------------------------------------------------------------- ■■終章 最後に 上記の時計針作成法はその一例でしかないと思いますし、もしかしたら誤りや 穴があるかもしれません。10進のデジタル表示を限定された条件に沿って60進、 あるいは12進や24進のグラフに描き換える作業は、解答の複数あるパズルを 解いているような物だと思います。よってまだ他にも作成法はあると思われますし、 もしかしたらそちらの方が各々のスキンの表示にとってより適しているかも しれません。私はここまでにしましたが、更に試行錯誤してみるのもおもしろいと 思います。 以上『針』を使った時計付きのスキンを作る時の参考になれば幸いに思います。 また、大して面白みのない文章をここまで読んでくれたあなたに感謝致します。 最後に『めもりーくりーなー』の作者の柳井 政和さんと秒針作成の先駆者と 思われるスキン『fun』を創られた忠さんに感謝と敬意を表します。                          2003/01/13 Everlasting                          連絡先:rm-5@dab.hi-ho.ne.jp