Window Athletic の仕組み (その1)

Window Athletic とは、デスクトップ上のウィンドウ情報を取得して、マスコット画像を表示するアプリです。 (http://hyakuren-soft.sakura.ne.jp/window_athletic/)
ウィンドウの上をマスコットが走ったり、落ちてくるずんだ餅を食べさせりと、色々できます。

pronama_screenshot zunko_screenshot

この記事では、このアプリの仕組みを解説していきます。
まず、大雑把に説明すると、

  1. ウィンドウの位置情報を取得する。
  2. マスコットを表示するためのウィンドウを作成して、描画する。
  3. マスコットの位置と、どの画像を描画するかは、Lua スクリプトで制御する。
  4. ウィンドウの情報が更新されたら、アプリから Lua スクリプトに通知する。

という処理をしています。
というか、それだけです。

以下の画像を見ると、仕組みがイメージしやすいと思います。

window_athletic_frame
ウィンドウ枠を消さずに表示したときの動作

アプリ全体の動作は、アプリとテーマとの組み合わせで実現されています。
テーマの中には Lua スクリプトや画像ファイルが Zip (のような) 圧縮をされており、アプリがプレイヤーで、テーマがデータとして動作します。

具体的な実装に興味がある方は、ソースコード をご覧ください。
それでは、次回はプロ生ちゃんのテーマのスクリプト紹介をしていこうと思います。