- 2009-07-26 (日) 9:17
- 技術
●猫ウィンドウクラスを作る
前回までで,猫型ウィンドウを表示することができました.書き散らかしたコードによる機能をまとめると,
- ウィンドウ背景(猫以外の領域)を透過
- なんとなく徘徊
- タイマでアニメーション
といった感じです.
今回は,これらのコード(のうちのいくらか)を再利用できるように猫ウィンドウクラスを作成することにします.
さすがに業務アプリのウィンドウを黒猫にしたら怒られそうですが(←本当はやりたい),今後,猫アプリを作る際には,「猫がアニメーションする」という基本機能がクラス化されていると便利でしょう.
※「猫アプリなんてつくんねーよw」という雰囲気の職場ですが,さびしくなんてありません.
※それ以前に職場で猫ソフトを作っているという状況が(略
●猫ウィンドウクラスの機能
とりあえず機能を何でもかんでも詰め込んでしまうのも考えものなので,以下のような機能を有するものを目標とします.
- ウィンドウの生成と破棄
- ウィンドウは背景透過する(レイヤードウィンドウ)
- アニメーションの登録
- 表示するアニメーションの選択
- 選択中のアニメーションがタイマで勝手に表示される
- GUIとして右クリック時にポップアップメニューが出る
- 機能拡張用の仕組み
くらいで.
「徘徊」は猫アプリ次第で必要か否かが変わる要素でしょうから,このクラスには直接には含めないことにしました.
また,前回,マウスドラッグで猫を動かせるようにしていましたが,これも同様の理由で含めません.
(ポップアップメニューだって余計な要素に見えるかもしれませんが,「猫ウィンドウを閉じるのに最も自然な手段な気がする→自分が使うときは多分例外なく必ず使う→猫ウィンドウクラスは多分自分しか使わない」という推論から,猫ウィンドウがサポートすべき最低限の機能として採用.)
クラスの基本的な使い方としては,
- インスタンス作る
- アニメーションを必要な個数分だけ登録する
- ウィンドウ生成,表示
- 随時必要に応じて,登録しておいた中から,現在表示させるアニメーションを選択する
- ウィンドウ閉じる
といった感じになります.
- Newer: 猫ウィンドウクラスを作る(2)
- Older: SolidWorks APIに関する検討 その2