■
問題の機能を実現しようとすると分離してある4つの層(というかクラスタというか)を情報が行き来しなくてはならなくなる。
- どのキャラをプレイヤーが操作の対象としているかを知っている層
- どのウィンドウを表示すればよいかを知っている層
- ウィンドウマネージャのインターフェイスを知っている層
- キャラの頭がスクリーン上のどの座標にレンダリングされるかを計算して知っている層
そのためには必要とされる責任を細かく分けてあらかじめ各層へ分配してやって任せてやるしかない(↑の項目番号と対応)
- ウィンドウの表示非表示決定
- ウィンドウの種類決定
- 実際のウィンドウマネージャクラスのインターフェイス呼び出し
- ウィンドウの位置決定
大袈裟に思われるかもしれない。ほんとにたったこれ(図参照)だけのことになんでこんなに大仰な作業と時間かかっちゃうんだろうと自分でも思うし。