ウディタのコモンの初心者から中級者向け、作り方講座です。
RPGの洞窟や、ホラーゲームによくある、視界を制限する演出のコモンを作っていきましょう。
[kanren id=”1908″]
画像を表示していくパートについては、こちらの記事でご紹介しています。今回は、画像を表示するところはできていることを前提に、呼び出し方をやっていきましょう。
視界制限のコモンづくり
まずは、状態を管理する変数を用意しよう
通常変数をひとつ用意します。『視界制限中』とでも名前をつけておきましょう。この変数の値によって、視界制限の状態を管理します。
【演出】視界制限呼出 というコモンイベントを作成します。
これは、実際に他のコモンイベントやマップイベントから呼び出すコモンです。視界制限をオンオフするスイッチの役割を果たします。
内容はこのような感じにします。
■条件分岐(変数): 【1】CSelf0[モード] が -1と同じ
-◇分岐: 【1】 [ CSelf0[モード] が -1と同じ ]の場合↓
|▼ 消去します☆
|■変数操作: V20[視界制限中] = -1 + 0
|■
-◇上記以外
|▼ 表示します☆
|■変数操作: V20[視界制限中] = CSelf0[モード] + 0
|■
◇分岐終了◇
先ほど作った『視界制限中』という通常変数の値を管理するだけのコモンです。
並列実行イベントを作る
続いては、【演出】視界制限操作というコモンを作ります。こちらは『視界制限中』が『0以外』の場合に動作する『並列実行』イベントに設定します。
■変数操作: CSelf22[どれ?] = V20[視界制限中] + 0
まずは、『視界制限中』の通常変数の値を取得しておきましょう。
■条件分岐(変数): 【1】V20[視界制限中] が -1と同じ
-◇分岐: 【1】 [ V20[視界制限中] が -1と同じ ]の場合↓
|▼ 消去モードです
|■イベントの挿入[名]: ["【演出】視界制限表示"] <コモンEv 189> / -1:消去 / 0:なし
|■変数操作: CSelf21[現在表示中?] = 0 + 0
|■変数操作: V20[視界制限中] = 0 + 0
|■
『視界制限中』が0の場合は、表示している視界制限の暗闇を消去します。すでに作成した『【演出】視界制限表示』コモンを、『消去モード』で呼び出します。すると、画像が削除されます。
『現在表示中?』という変数を0(表示していない)にしておきます。そして通常変数の『視界制限中』を0にしておきます。このコモンイベントは『通常変数:視界制限中』が『0以外』のときに動作する並列実行イベントでしたね。『視界制限中』を0にしておけば、再び『視界制限中』の値が0以外になるまで動作することはなくなります。
-◇上記以外
|■条件分岐(変数): 【1】CSelf21[現在表示中?] が 0と同じ
『現在表示中?』の値によって条件を分岐
|-◇分岐: 【1】 [ CSelf21[現在表示中?] が 0と同じ ]の場合↓
| |■イベントの挿入[名]: ["【演出】視界制限表示"] <コモンEv 189> / 0:表示 / CSelf22[どれ?]
| |■変数操作: CSelf21[現在表示中?] = 1 + 0
| |■
『現在表示中?』が0、つまり今現在、視界制限が表示されていない場合は、『視界制限表示』コモンを、表示モードで呼び出します。そして、『現在表示中?』の値を1にしておきます。こうすることで、次のフレームから表示ではなく更新されます。
|-◇上記以外
| |■イベントの挿入[名]: ["【演出】視界制限表示"] <コモンEv 189> / 1:更新 / CSelf22[どれ?]
| |■
|◇分岐終了◇
|■
◇分岐終了◇
すでに表示されている場合は、更新しましょう。
まとめ
いかがでしたでしょうか?
並列実行のコモンイベントは、条件が難しいですよね。今回のように、起動条件を操作する、専用のスイッチとなるコモンを作ることで、作業がわかりやすくなり、エラーが減ります。ぜひ、他の並列実行コモンを作るときにも試してみてくださいね。
この画像の拡大率を変えることで、明るい部分の大きさを変えることができます。使用するアイテムや魔法によって明かりのサイズが変わるという演出もいいかもしれません。
迷路やホラーの演出など、使いどころは多そうです。
画像の拡大率を上げて、画面の中心に設置すると、いい感じに画面が狭まります。
町中での夜の暗さの演出や、遠くの方でのできごとを覗き見るようなシーン、さらには過去の回想モードとしても使えそうです。
以上、洞窟やホラーゲームでの演出に欠かせない、視界を制限するコモンでした。
コメント