風薙鳥 ゲーム制作日誌

選択ウィンドウ共通処理を実装

Visual C++ / DXライブラリでローグライク(ダンジョンRPG)を制作中です。

ローグライクはウィンドウが多めのゲームなので、それなりの数のウィンドウを作ることになります。
その中でも少々面倒な選択ウィンドウを、共通処理を通すことで比較的簡単に作成できる仕組みを実装しました。
実際に作ったウィンドウがこちら。



アイテムの仮データを表示しています。
袋のアイコンを描くのに苦戦しました。

カーソルの移動やキー入力検知は共通処理が受け持ち、各ウィンドウは処理の分岐と項目の描画を行うだけでOKです。
RPGツクールのRGSSをある程度意識した作りになっています。
というより、オブジェクト指向の基本的な考え方なのでしょうが、私は未だにクラスを使っていません。
ウィンドウ構造体を共通処理関数にポインタ渡しするという方法で、クラスを使った方がスマートな気はしています。

サイズ可変のウィンドウ枠/背景の描画は、以前に落ち物パズル制作で書いたソースコードを使っています。
共通処理の仕様に合わせて手を加えてはいますが。
過去の成果を流用すると実に楽なので、今回のウィンドウ共通処理も、後に作るゲームで活かすとしましょう。