洞窟で明かりをつける演出としては、中心を半透明の円で塗りつぶした黒地の画像などを使う方法があります。
これはシンプルに実装できる反面、プレイヤーが画面端にいったときや、複数の明かりがある場合に対応しづらいです。
今回は、プレイヤーのまわりの明かりだけではなく、スイッチで照明をつけるために、
Terrax Lighting system を使わせていただきました。
とてもきれいな照明を手軽に表示できました。
具体的な使い方は、このプラグインの中にデモプロジェクトやテキストがあります。
私もそれを見て使うことができました。
ただ、英語表記だったので、デモを見ながら少し手間どりました。
今後、思い出しやすいようにここに実装した範囲で記録します。
プラグインの描画の ON/OFF を切り替える。
プラグインの描画を ON にする。
プラグインコマンドで Light activate
を呼び出すことで、プラグインの描画を ON にできます。
洞窟に入った場所のイベントなどで呼び出すと、その時点で暗闇と照明が描画され始めます。
プラグインの描画を OFF にする。
プラグインコマンドで Light deactivate
を呼び出すことで、プラグインの描画を OFF にできます。
洞窟を出た場所のイベントなどで呼び出すと、その時点で暗闇と照明が描画されなくなります。
明かりをつける
プレイヤーの明かりの設定
プラグインコマンドで Light radius 100 #FFFFFF
を呼び出します。
100 は大きさでその後はカラーコードです。これらはユーザが自由に設定できます。
プラグインの描画を OFF にすることで無効にできます。
イベントに明かりをつける
イベントのメモに Fire 450 #FFCC00
と記述します。
450 は大きさで、その後はカラーコードです。これらはユーザが自由に設定できます。
明かりをつけたり、消したりする
メモの欄にFire 450 #FFCC00 1
と書いてあります。
これが明かりの設定です。
450 は明かりの大きさ、その後はカラーコードです。
そのあとの 1 というのが ID になります。
これはユーザが自由に決められるようです。
この ID=1 の明かりをつけたい場合は、プラグインコマンドでLight on 1
とします。
この明かりを消したい場合は、プラグインコマンドでLight off 1
とします。
状態を復元する
私の使い方が悪いのかもしれませんが、明かりの ON/OFF がうまく復元されませんでした。
そのため、明かりの ON/OFF と連動しているスイッチで変数を変更し、その変数を条件にして起動時に light on/off を呼び出しました。
最初の2つは、プレイヤーの明かりの色と大きさを設定し、すぐに暗闇・照明を無効にしています。
そのあとの条件分岐が、明かりの状態を復帰させるための処理です。
参照
Terrax Lighting system - JS Plugin Releases (RMMV) - RPG Maker Forums