描画を扱うライブラリ

まず、ダブルバッファリングや画像のプリロード、回転描画などを行うための仕組みが必要です。そこで、先にそのライブラリを作ってしまいましょう。

ライブラリは、「描画ライブラリ」というグループを新しく作って、必要な命令(メソッド)などはそこに記述していくことにします。機能を集約したグループを作ることで、プログラムを構造化するわけです。

ダブルバッファリング

ダブルバッファリングとは何か、詳しいことついては本編を参照してください。

■描画ライブラリ +イメージ
 ・初期化〜
  自身を画面クリア
 ・バッファ交換〜
  自身を母艦の(0),(0)へ画像コピー
 ・作る〜
  自身のオブジェクトは、VCL_CREATE(自身, 名前, VCL_GUI_IMAGE)
  自身のWは、母艦のW
  自身のHは、母艦のH
  自身の可視はオフ
  自身を初期化
描画ライブラリを作る

これが基本形です。基本的に描画ライブラリは一つあれば十分なので、描画ライブラリ自身は明示的に初期化(作るメソッド呼び出し)しています。メンバではなくて自分自身をオフスクリーンバッファにする形にしました(その方が描画命令を使う時に楽なので)。

クラスのインスタンスを一つしか作らない仕様をシングルトン・パターンと呼びますが、使い方はそれに似た感じです。但し、本当のシングルトン・パターンでは複数インスタンスを生成できないよう保障する必要があります。

画像のプリロード

描画する時にいちいち画像ファイルから読み込んでいては時間がかかってしまうので、画像を予め「先読み」しておく機能が必要です。

注釈

*1