[解決済み]並列処理コモンイベントのフェードインについて。

あきまり
記事: 48
登録日時: 2018年2月04日(日) 06:45

[解決済み]並列処理コモンイベントのフェードインについて。

投稿記事by あきまり » 2021年4月13日(火) 12:49

タイトルの通り並列処理コモンイベントのフェードインについてです。

1ボタンで移動する並列処理を作成したいのですが
並列処理コモンイベントがイベントが途中で中断され?フェードインイベントコマンドを入力しているのにもかかわらずフェードアウトしたままになってしまいました。
通常のイベントでの動作ではちゃんとフェードインするのでイベントの問題ではないと思います、
ご存じの方お知恵を貸して頂きたいです。
最後に編集したユーザー あきまり on 2021年4月13日(火) 23:17 [ 編集 1 回目 ]

アバター
ムノクラ
記事: 2011
登録日時: 2018年2月23日(金) 11:41
連絡を取る:

Re: 並列処理コモンイベントのフェードインについて。

投稿記事by ムノクラ » 2021年4月13日(火) 13:40

あきまり さんが書きました:タイトルの通り並列処理コモンイベントのフェードインについてです。

1ボタンで移動する並列処理を作成したいのですが
並列処理コモンイベントがイベントが途中で中断され?フェードインイベントコマンドを入力しているのにもかかわらずフェードアウトしたままになってしまいました。
通常のイベントでの動作ではちゃんとフェードインするのでイベントの問題ではないと思います、
ご存じの方お知恵を貸して頂きたいです。


具体的な処理が書かれていないので、想像でしかありませんが…

その並列処理とは別の自動実行イベント・並列処理イベントが、周辺で動作していませんか?

1ボタンというのが、並列処理で入力を確認している?と想像しますが、原因を探るのに簡単なのは、その並列処理イベントのみを新規プロジェクトに入れてみて、動作するか確認してはいかがでしょうか?
---
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。
sally
記事: 119
登録日時: 2019年8月06日(火) 05:11

Re: 並列処理コモンイベントのフェードインについて。

投稿記事by sally » 2021年4月13日(火) 14:48

想像でしかないのですが、
並列処理の場合はウェイトを設定していても他イベントの処理に対してはウェイトがかからないので、そのせいではないでしょうか。

それ以外は想像が出来ないので、もし可能でしたらイベントの内容をご提示頂ければ他の方も回答しやすくなるかと思います。
あきまり
記事: 48
登録日時: 2018年2月04日(日) 06:45

Re: 並列処理コモンイベントのフェードインについて。

投稿記事by あきまり » 2021年4月13日(火) 17:23

ムノクラ様 返答ありがとうございます。

これ以外は自動実行、並列処理共に行っていないのでそこは大丈夫かと思います。
そして新規プロジェクトでも暗転したまま戻ってきませんでした。



sally様 返答ありがとうございます。
並列処理の場合はウェイトを設定していても他イベントの処理に対してはウェイトがかからない
特にウェイトを設定している訳では無いのですが暗転してしまいます。
処理内容なのですが。

ツクマテにイベント?を書くのが初めてなので間違った書き方をしていましたら申し訳ございません。

コモンイベント サブメニューを出す 並列処理 スイッチ並列処理許可

◆条件分岐:ボタン[シフト]が押されている
◆条件分岐:コモンイベントで移動がON
◆コモンイベント:MAP移動

:それ以外のとき

:分岐終了

:それ以外のとき

:分岐終了

コモンイベント MAP移動 トリガ無し

◆条件分岐:移動禁止がOFF
◆アイテムの増減:ポーション + 1
◆アイテム選択の処理:アイテム選択変数, 隠しアイテムA
◆条件分岐:アイテム選択変数 = 1
◆画面のフェードアウト
◆場所移動:MAP002 (11,11) (向き: 上, フェード: なし)

:分岐終了
◆画面のフェードイン

:それ以外のとき
◆文章:なし, ウィンドウ, 下
:  :移動できません

:分岐終了
◆エンカウント禁止の変更:許可
◆アイテムの増減:ポーション - 1
◆スイッチの操作:#0001 並列処理許可 = ON

です。
sally
記事: 119
登録日時: 2019年8月06日(火) 05:11

Re: 並列処理コモンイベントのフェードインについて。

投稿記事by sally » 2021年4月13日(火) 19:07

イベントのご共有ありがとうございます。

これは、場所移動によって、呼び出したコモンイベント「マップ移動」が強制終了されているのが原因ですね。
確認してみて頂きたいのですが、ポーションの数も減ってない状態になっていませんか?

回避方法としては、マップ移動後の専用コモンイベントを作成し、
並列処理コモンイベント「サブメニューを出す」で呼び出しているコモンイベント「マップ移動」の直下に入れてみてください。
これで解決するかと思います。

もしわかりづらければ、イベントを作成しこちらでその内容を記載しますので、ご相談くださいませ。
あきまり
記事: 48
登録日時: 2018年2月04日(日) 06:45

Re: 並列処理コモンイベントのフェードインについて。

投稿記事by あきまり » 2021年4月13日(火) 20:06

sally様 返答ありがとうございます。

場所移動によって、呼び出したコモンイベント「マップ移動」が強制終了されているのが原因ですね。

すみませんこの仕様を理解していませんでした、必ずしたまで行われるものと思っていましたありがとうございます、これはコモンイベント?というより全部のイベントの仕様なのでしょうか?

回避方法としては、マップ移動後の専用コモンイベントを作成し、

行ってみました。

コモンイベント サブメニューを出す 並列処理 スイッチ並列処理許可

◆条件分岐:ボタン[シフト]が押されている
◆条件分岐:コモンイベントで移動がON
◆コモンイベント:MAP移動
◆コモンイベント:MAP移動後

:それ以外のとき

:分岐終了

:それ以外のとき

:分岐終了

コモンイベント MAP移動 トリガ無し

◆条件分岐:移動禁止がOFF
◆アイテムの増減:ポーション + 1
◆アイテム選択の処理:アイテム選択変数, 隠しアイテムA
◆条件分岐:アイテム選択変数 = 1
◆画面のフェードアウト
◆スイッチの操作:#0004 移動後スイッチ = ON
◆場所移動:MAP002 (11,11) (向き: 上)

:分岐終了

:それ以外のとき
◆文章:なし, ウィンドウ, 下
:  :移動できません

:分岐終了

MAP移動後 並列処理 スイッチ移動後スイッチ

◆エンカウント禁止の変更:許可
◆アイテムの増減:ポーション - 1
◆スイッチの操作:#0001 並列処理許可 = ON
◆画面のフェードイン
◆スイッチの操作:#0004 移動後スイッチ = OFF
◆文章:なし, ウィンドウ, 下
:  :せいこうしたよーん

で一応フェードインに成功したのですがこれで大丈夫そうでしょうか?
正直理解してない状態で上手くいった感じです。
sally
記事: 119
登録日時: 2019年8月06日(火) 05:11

Re: 並列処理コモンイベントのフェードインについて。

投稿記事by sally » 2021年4月13日(火) 20:59

早速のご確認ありがとうございます。
無事にできたとのことでよかったです。

コモンイベント内の場所移動についてはほぼ確定ですが、
他のイベントについては分かりかねます。
というのも経験上、場所移動後にイベントを入れるとなんか事故る、ということが多発したので
場所移動後に基本的にイベントは設定しておらず、原因は特定できていません。

さて。
ご共有頂いたイベントですが、概ね問題ありません。
一点、場所移動後のイベントは呼び出し専用のものとなるのでマップ移動と同じく、トリガーは消してください。

また、これは些細な点ですが、条件分岐が単なる条件判別の場合は、それ以外の場合 を設定しなくてもよいです。
分岐終了の後ろのイベントは基本的に、条件に合致したか否かを問わず処理されるので、スイッチのオンオフで実行するイベントが異なる場合のみで使えばよいかと。

最後に、理解してない状態で上手くいったとのことですので、処理の流れについて簡単にご説明します。

強制終了されるのは場所移動を設定したイベントであって、呼び出したイベント自体は継続して実行されます。
従って、並列処理のイベント自体は継続しているのでマップ移動イベントが強制終了されたら、その下にあるマップ移動後が呼び出されて処理される、という流れになります。

イベント的な書き方をすると
【並列処理イベント】
条件分岐: シフトが押されている
条件分岐: コモンイベントで移動がオンになっている
------ マップ移動イベント」呼び出し------
条件分岐: 移動禁止がオフ
条件分岐:アイテム変数が1
場所移動
----------場所移動イベント強制終了-----------
「マップ移動後イベント」呼び出し
【並列処理イベントここまで】

という感じで、マップ移動イベントのみが終了します。

この説明で伝わりますでしょうか。
ご不明点などありましたら、お気軽にご質問くださいませ。
chro
記事: 86
登録日時: 2021年2月14日(日) 11:26

Re: 並列処理コモンイベントのフェードインについて。

投稿記事by chro » 2021年4月13日(火) 22:29

横からですが、並列処理はマップに紐付くものなので、別マップ移動時に新しく出現条件を判定します。
マップイベントの並列処理は、マップ上から消えているので実行されず、コモンイベントの並列処理は新しく再出現され1行目から実行される形になります。
その場合コモンイベントの呼び出しも、呼び出し元のコモンイベントと同じように再び呼び出されない限り実行されません。

並列処理以外は別マップへ移動しても、実行中のイベントは保持されたまま実行され続けます。


検証用イベント例です。

コード: 全て選択

コモンイベント トリガー:並列処理 スイッチ:マップ移動
◆文章:なし, ウィンドウ, 下
:  :マップ移動します
◆場所移動:民家1 (9,13)
◆文章:なし, ウィンドウ, 下
:  :マップが完了しました
◆スイッチの操作:#0008 マップ移動 = OFF


スイッチオン時に別マップへ移動させるようにすると、場所移動後、もう一度マップ移動します、という文章が表示されてて、場所移動されると思います。
同一マップへの場所移動だとそのまま保持され実行し続けます。

コモンイベントの呼び出しを使用していても、呼び出し元が出現条件を判定後、再実行される状態になります。


対策としては、並列処理のイベントで場所移動スイッチをオンにして、
トリガー:自動実行で場所移動スイッチがオンの場合にするといいです。

並列処理だと予期せず別イベントが動いてバグの原因にもなるので、自動実行ならそのイベントが終了するまで別イベントが動く事がなくなります。
sally
記事: 119
登録日時: 2019年8月06日(火) 05:11

Re: 並列処理コモンイベントのフェードインについて。

投稿記事by sally » 2021年4月13日(火) 22:58

なるほど、そういう仕様だったのですね。
検証用に組んだイベントでは場所移動の処理が一回になるよう組んでいたので、ミスに気づきませんでした。

chroさん、間違いのご指摘ありがとうございました。
あきまり
記事: 48
登録日時: 2018年2月04日(日) 06:45

Re: 並列処理コモンイベントのフェードインについて。

投稿記事by あきまり » 2021年4月13日(火) 22:59

sally 様 返答ありがとうございます。

一点、場所移動後のイベントは呼び出し専用のものとなるのでマップ移動と同じく、トリガーは消してください。
すみませんこの箇所なのですが最初 ナシで 行ったのですが実行されず自動にした場合成功したのでこの様に設定してみました。

ご回答ありがとうございましたお陰様で解決できました。

chro 様 返答ありがとうございます。
並列処理の仕様説明ありがとうございます、通常のイベントが必ず最後まで行われているので知りませんでした。

“MV:質問” へ戻る