【普通のイベントと並行して動作するイベント】
【目標】
イベントの起動条件を「並列実行」にすると、それらのイベントは(起動条件として変数を指定していなければ)
他のイベントと並行して常に実行され続けます。
(マップイベントであれば主人公がそのマップに居る間中、コモンであればどのマップ上でも実行され続ける)
この「並列実行」について、とりあえず使えるようになりましょう。
※前項◆マップに入った時点で起動するイベント、つまり「自動実行」との違いについて
「自動実行」のイベントは起動中、並列実行以外の全ての他イベントが動作しません。
一方、「並列実行」のイベントは他のイベントが起動していようがしていまいがお構い無しに実行し続けます。
【1】
例として、今回は時計を作ってみましょう。
まずは例によってニワトリ姿のイベントを作ってください。本来、今回の処理にイベント画像は必要ない(むしろ邪魔)ですが、目印として。
※今回「コケコッコー」とは言いません。
【2】
次は処理内容です。「起動条件」を「並列実行」にしたら、イベントコマンドを入力していきましょう。
最初に「H イベント制御」から、「ウェイト1フレーム」を入れます。バグらないおまじないらしいです。効果アリなので是非入れましょう。
【3】
続いて、「A ピクチャ」を選択します。わちゃわちゃしていますが、今回設定する項目は多くありません。
![](image/EV_009_2.jpg)
まずは一番上の「ピクチャ番号」を、「10」にしてください。
※他の数字でもいいですが、サンプルゲームの他のピクチャと被らないようにしましょう。
次に「表示タイプ」から「[3]文字列をピクチャとして描画」を選択します。ハカセが言っていた奴です。
「表示タイプ」の枠内に文字列入力欄が出てきます。
ここで時計を表示させるために「システム変数」を読み込む特殊文字を使います。
「\sys[80]:\sys[81]:\sys[82]」と入力してください。
コロンは時計っぽく見せる為ですが、重要なのは「\sys[]]の部分です。
これは「システム変数のx番の数値を、ここに表示する(xは[]内の数字)」という意味の特殊文字です。
システム変数の80番は現在の[時]、81番は[分]、82番は[秒]、をそれぞれ取得します。
これはウディタが勝手にやってくれるので、特殊文字を入力さえすれば、現在時刻が表示できるというわけです。
右下の「入力」をクリックすれば完成です。
![](image/EV_009_1.jpg)
【3】
さて、マップをセーブして、作ったイベントをテストしてみましょう。「セーブ(マップ全体)」をクリックした後、「テストプレイ」をクリックしてください。
![](image/window_evbase4.png)
【4】
画面左上に時計が表示されましたか?時刻ではなく変な文字が表示される場合、特殊文字の入力を正しく出来ているか確認してください。
![](image/EV_009_3.jpg)
マップイベントだと置いたマップでのみ時刻が表示されます。全てのマップで時刻を表示したい場合は「コモンイベント」を作りましょう。
今回の処理は変数操作等も無いので、単に起動条件を「並列実行(常時)」にして同じように入力するだけです。
これで「普通のイベントと並行して動作するイベント」は完成です。お疲れ様でした。
「システム変数」について、興味が湧いたら
公式マニュアルのシステム変数/文字列一覧を見てみましょう(一覧は目次の一番下の方にあります)。
種類が多くて絶望的ですね。
後々、「コレの位置が数値化できたら…」とか「こんな処理がやりたいんだが…」とか思った時に見直してみてください。
<執筆者:斗米ナギ>
【←にフレームが表示されていない方はここをクリック】