5.5 背景を派手にする
ワークシートの書き換えで作ったゲームだと、その描画性能の問題からなんとなく背景が寂しくなりがちです。

例えば、ごく普通にセルに色を塗って背景を書いた場合は、その上を自機や敵キャラが通り過ぎるとせっかく書いた背景が消されてしまう問題があります。もし、背景を消さないよう強引に背景の書き換え処理を行うと、今度は処理速度がガタ落ちになる問題が気になります。

でも、これも工夫次第でなんとかなるし、しかもその方法は実に簡単!ワークシートの背景を画像で飾ることができますが、これをうまく使えば背景にカッコイイ絵を付けることも可能だし、迷路や岩山やビルの中など凝ったステージも作れるし、ハシゴや階段を上るときも背景の絵が消える心配がいらなくて超お得!

なお、マクロでワークシートの背景画像を設定する(と削除する)方法はエクセルマクロTips7.15 ワークシートの背景に画像を設定をどうぞ。
サンプルのダウンロード
この章で使うサンプルです。こちらのサンプルファイルをダウンロードしてご利用ください。もちろん、ノートン・アンチウィルスでチェック済みのファイルです。

サンプルファイルをダウンロードしたら、お好みの場所へ解凍しましょう。ただし、ワークブックと.bmpは必ず同じフォルダに置いて下さい。解凍したらgt00505.xlsを開きCapter00505というマクロを実行してください。実行すると画面上を2つの玉が動き回ります。しかも、カッコイイ(?)背景付き!もちろん、玉が動いても背景は消えません。なお、停止するときはESCボタンを押して下さい。

ちなみに…あの名作と似てるって噂がありますが、なんの事でしょう??(汗)
コツ其の1/パターンを描く場合
他の例で作ったパターンは余分な所を背景色と同じに塗っていましたが、この方法(ワークシートの背景に画像を設定する方法)を使う場合、余分な部分に色は設定しません。塗りつぶしの色で言うと「塗りつぶしなし」です。

サンプルのマクロを実行すると表れるパターンは右図の通りですが、このうち点滅している部分がそれ(塗りつぶしなし)になっています。

パターンを書く場合のコツは、セルに背景色を付けたところは背景の画像が見えなくなるセルの背景色を「塗りつぶしなし」にした所は背景の画像が見える、これらのクセをうまく使って書きましょう。
コツ其の2/ワークシートの余分な部分は非表示
ワークシートの背景に画像を設定した場合、貼り付けはデスクトップの壁紙で言うところの「並べて表示」の扱いになるため、ワークシート全体に画像が入ります。そのため、背景が必要ない部分まで画像が入ってしまいます。

これではちょっとカッコ悪いので、背景の画像が出て欲しくない部分は、セルの背景色を設定してスコアなどの表示領域に使ったり、行や列を非表示にしたりで工夫すればなどを行えば、必要な部分にだけ背景の画像を表示することができます。

サンプルのマクロでは、225列〜256列を非表示303行以降を非表示に設定しています。
コツ其の3/もしかするとフリーズする??
サンプル作ってるときにかなりの頻度で起きましたが、背景に画像を設定しワークシートを縮めて表示しているときに、マウスで範囲選択しようとしたらエクセルがフリーズすることが頻繁にありました。かつ、フリーズ後にワークシートを開くと、背景の画像がズレるのです。

この現象、もしかするとエクセルのバグかもしれませんが、おいらのPCが病んでいるだけかもしれません(汗)。いずれにしろ、フリーズ後は強制終了しか手が無く、保存していない部分はパーです(滝汗)。

とりあえずは、「実行中以外は背景画像をOFFにする」ことと「こまめに保存する」で回避してくださいな。
Copyright(C) 1999-2006 結城圭介。 All rights reserved