ゲームの顔となるグラフィックスやキャラクタは、基本的にプログラムとは別の次元で素材データとして各種グラフィックツールによって作られる。ゲーム制作がチームによる分業制となった現在では、ほとんどの場合は専門家(←グラフィッカーなどと呼ばれている)が担当するが、個人の場合はプログラミングと平行して自力で作成していくことになる。
ここで、あえて「基本的に……」と書いたのは、LineやCircleメソッドなどを使ってグラフィックス効果を表現することもあるからだ。具体例は拙著でも示しているが、これらはプログラムテクニックの素材というべきで、グラフィックスの素材ではない。したがって、通常は「別次元で作られた画像データがなければ絵になる画面はできない!」と考えてよいだろう。
ここで重要なのは、別次元で作成するからといって、表示プログラムと無関係ではないということ。最低限、画像サイズやアニメーションの枚数/表示順序などは、プログラム側とツジツマを合わせておく必要がある。ましてや、原画を加工して表示するとなると、プログラムテクニックに応じた素材を用意するのは当然のことである。
動くゲームは、1枚絵を単にピクチャボックスに表示するのではなく、非表示にした裏方役のピクチャボックスからの加工表示。当然、料理と同じで素材によって加工法が異なってくる。というより、加工法に合わせて適切な素材を用意するのだ。こうした加工例のうち、第一歩にふさわしいのは何といっても「キャラクタパターンの重ね合わせ表示」だ。
実は、キャラクタパターンの表示法にはいくつかの手段がある。もちろん、それぞれの一長一短を調べなければ、どれが最適かを論ずることはできないが、個々の表示法や結論を出すに至るまでのプロセスについては、ここでは省略。この道場ではVisual Basic単体での最速表示法として、Windows自身に用意されているAPI(Application Programming Interface)を使う。
とりあえず、APIそのものについては先送り(←省略ではない)にし、重ね合わせ表示に必要なサンプル素材から見てもらいたい。
@マスクパターン(背景表示部=黒)
Aキャラクタパターン(背景表示部=白)
このような2種類の素材を使って、背景の上にキャラクタパターンを重ね合わせるのだ。いうまでもなく、実際のゲームとなれば大量のパターンを使うことになる。となれば、それをどうまとめるかも決めておかなければならないが、これは別ファイルにしても1つにまとめても構わない。要するに、現場でプログラムしやすいように各パターンを管理できればよいのである。