ページ 11

【解決済み】コモンイベントについて(AとBからほぼ同時に呼び出した場合)

Posted: 2019年10月03日(木) 09:24
by MEIKOI
こんにちは。

コモンイベントについて教えてください。

イベントAとイベントBから同じコモンイベントを「ほぼ同時に呼び出した場合」

どのように処理されるのでしょうか?


1:イベントAから呼び出した処理が終わるまで、「イベントBの呼び出しは待機する。」

2:イベントAとイベントBから呼び出した処理は、「平行して実行される。」

3:イベントAから呼び出した処理は実行されるが、「イベントBの処理はキャンセルされる。」

4:それ以外(どのように処理されるか?)


また、「呼び出したコモンイベントが実行中の場合は、別のコモンイベントを呼び出す」
という処理が可能であれば、その方法を教えてください。

よろしくお願いします。

Re: コモンイベントについて(AとBからほぼ同時に呼び出した場合)

Posted: 2019年10月03日(木) 19:15
by 奏ねこま
「ほぼ同時」の定義が曖昧です。
AとBのイベント内容(トリガーやコモンイベントの呼び出し方など)の具体例を示してください。

Re: コモンイベントについて(AとBからほぼ同時に呼び出した場合)

Posted: 2019年10月03日(木) 19:16
by astral
こんばんは。

通常イベントIDが小さい順から順次実行するようになっているので、同時に実行されることはありません。
コモンイベントの呼び出しはその場ですぐ実行されるので、コモンイベントが終わってから次のイベントコマンドが実行されてます。

コモンイベントは、実質的にコピーされて独立したイベントのような形になります。
例えば、コモンイベント1の並列処理
イベントAでコモンイベント1を呼び出し
イベントBでコモンイベント1を呼び出し
これらはすべて、中身は同じコモンイベントですが、3つの独立したイベントのようになります。

イベントAでコモンイベント1を呼び出し→コモンイベント1から、コモンイベント2を呼び出し→コモンイベント2から、コモンイベント1を呼び出し
という場合にも、イベントAから呼び出したコモンイベント1と、コモンイベント2から呼び出したコモンイベント1は独立したものとなります。


並列処理で、コモンイベント中にウェイトを入れた場合にも、1フレームでそれぞれのコモンイベントが別々に動作しています。
条件分岐等でそれぞれ別の動作をさせることが可能です。

>呼び出したコモンイベントが実行中の場合は、別のコモンイベントを呼び出す
これはコモンイベントの呼び出し前後に、スイッチのオン・オフで対応するといいと思います。

Re: コモンイベントについて(AとBからほぼ同時に呼び出した場合)

Posted: 2019年10月03日(木) 22:39
by MEIKOI
ご返信ありがとうございます。

つまらない質問をしているのかもしれませんが、回答いただけると助かります。

説明不足でしたので、再度自分の環境でテストした設定状況と結果を詳しく書きます。




id001のイベントの処理内容(自動実行)
 コモンイベント001の実行
 文章の表示「id001実行しました。」

id002のイベントの処理内容(自動実行)
 コモンイベント001の実行
 文章の表示「id002実行しました。」

コモンイベント001の処理内容(トリガーなし)
 文章の表示「コモンイベント001を実行しました。」




以上の状況で実行した結果

id001の処理内容が永遠と続きます。
具体的には、
文章の表示「コモンイベント001を実行しました。」
文章の表示「id001実行しました。」
の繰り返しとなります。

文章の表示「id002実行しました。」が表示される事はありません。

文章表示中のwaitの関係でしょうか?

Re: コモンイベントについて(AとBからほぼ同時に呼び出した場合)

Posted: 2019年10月03日(木) 23:45
by astral
コモンイベントは関係なくて、自動実行なのでid001だけが永遠に続いてると思われます。

自動的に始まるイベントを作る
https://tkool.jp/mv/guide/006_004f.html

Re: コモンイベントについて(AとBからほぼ同時に呼び出した場合)

Posted: 2019年10月04日(金) 05:11
by MEIKOI
自動実行の意味が理解できてなかったようです。基本的な事なんですね。よくわかりました。ありがとうございました。