人生

やっていきましょう

所持金、特殊ゲージ、敵情報の表示が完成した。特に敵情報の表示方法には随分悩まされた。

マウスを敵に翳すと画面に枠と、モンスターの名前/レベル/経験値量が表示される。マウスを離すと自動で消える。仕組みは単純だが、必要な条件と処理が多く一度に考えると混乱してしまう。そこで自分の理解を一旦整理することにした。

この仕組みに必要なことは①マウスを敵(マップイベント)に翳すことで、②マップイベントがどのモンスターに属するかを特定し、③そのデータに基づいて枠と情報を表示するということだ。例えばマップに赤スライムが3体、青スライムが2体いたとき、赤スライムにマウスを翳せばいつでも赤スライムの、青スライムに翳せばいつでも青スライムの情報を表示するようにする。

①において、マウスが対象に接しているかを判別する方法は、変数操作+においてマウスに接触しているイベントIDを変数01に代入すること。接触しているマップイベントが存在しない場合-1を出力するため、-1の場合はイベントが発動しないようにする(もしくは後述のピクチャを削除する)。

②においては、①で獲得したイベントIDのマップイベントの影グラフィック番号を変数02に代入する。影グラフィックはモンスターの種類の識別の大いに役立つ。赤スライムには赤スライムの、青スライムには青スライムの影をイベントに設定しておけば、それが単体であれどのグループに属するかを瞬時に判断することができる。

③において、変数02の値がモンスターの番号として存在する場合には、枠と変数に対応した数値を載せた文字列を表示する。具体的には影グラフィックの番号から、予め用意しておいたモンスターの名前を文字列01に、レベルと経験値量をそれぞれ変数03, 変数04に代入する。

その後マウスのx座標を変数05, y座標を変数06に代入する。ピクチャ表示の際には枠と文字の座標をマウスの座標と一致するように変数呼び出し値で設定する。文字は【モンスター名(文字列01)】、レベル【変数03】、経験値【変数04】のように表示する。

あとは細かい座標の微調整を行ってようやく完成した。大体基本はできたと思うのでここからストーリーを作っていく。