Android端末の時計として使える、サンプルゴーストを作りました。
ファイルはこちら→ <SampleClockGhost>
私が知る限り、4体の時計表示ゴーストが既に存在しますが
Androidの伺かをベースウエアとして、時刻を正常表示できる
ゴーストがなかったのでサンプルとして公開いたします。
Android OS のバージョンアップが影響するのか
ウィジェットとして起動できる手持ちの端末が減ってきました。
2021/12/19 追記 : 現時点で Androidの伺かの
対象APIレベル(android:targetSdkVersion)=28 (Android 9) みたいです。
その場合は、前面表示やライブ壁紙で代替することになります。
ライブ壁紙の場合、ユーザ設定に切り替えて壁紙位置と
背景として使う壁紙を調整すれば
そこそこ良いポジションにゴーストを表示できます。
■表示例■
Androidの伺か機能メニューにある、「前面表示に切り替え」を実行した場合です
Ukagaka Mascot app |
ライブ壁紙に設定した場合です
Ukagaka Live Wallpaper |
Ukagaka Live Wallpaper |
■既存ソロゴーストへの導入方法■
時計は「うにゅう側」として動作しますので
ソロゴーストに、時計が相方として加わったイメージです。
時計に関するすべてのデータとスクリプト記述は、そのまま流用していただいても構いません。
ですが、さくら側に使用しているフリーシェルも流用なさる場合は
シェル作者である吉野桜様に、ご自身で連絡していただき流用可否のご確認お願いします
※2022/06時点で、作者様から「確認不要」とブログ回答頂いております。
では順を追って解説します。
▲既に存在するソロゴーストに、時計表示機能を追加するとのシナリオで説明を進めます
▲ファイル・フォルダーの階層/構成についてもご存知の前提で、表記を簡略化しています
01. surface10.png を入れ替えます
シェルフォルダー内に既にある surface10.png を
サンプルゴーストの surface10.png(時計の背景です) で入れ替えます。
02. surfaces.txt に定義している surface10 の記述をコメントアウトします
03. surfaces9.txt をそのままコピーします
結果として、シェルフォルダーには surfaces.txt そして surfaces9.txt
2つのサーフェス定義ファイルが存在することになります。
04. Clock_Digit フォルダーをシェルフォルダー内に、そのままコピーします
▲ここまでで、フォルダー構成は次のとおりです
shell\master
┬
├Clock_Digit
│:
│:
├surfaces.txt
└surfaces9.txt
05. ghost\master にあるイベント処理辞書を変更します
既存のイベント処理辞書に対して、
サンプルゴーストの dic02_Event.txt に記述されている
時刻書き換えスクリプトを追加していきます。
(nop,(set,時計サーフェスID,(calc,9900000+(現在時)*100+(現在分))))
\1((時計サーフェスID))
この2行を、ゴーストの初期描画・再描画のタイミングで実行させるのが変更の目的です。
-eod-