ページ 1 / 1
【解決済み】
Posted: 2022年1月27日(木) 00:35
by ドラムカン
いつもお世話になっております。
並列処理ですら割り込めないようなのですが
そもそも、いかなるイベントも受け付けないのでしょうか?
そのようなプラグインは存在しないようですので
既存の機能を工夫すれば割り込み可能だからなのか、
それともプラグインを駆使しても無理だからなのか、
どちらなのでしょうか?
ご教示いただけますと幸いです。
よろしくお願いいたします。
Re: 文章スクロール中に並列処理
Posted: 2022年1月27日(木) 01:05
by なぴぃ
既存の機能を工夫すれば割り込み可能だからなのか、
それともプラグインを駆使しても無理だからなのか、
どちらなのでしょうか?
既存の機能を工夫すれば割り込みに近い事が可能だから、という事になると思います。
文章のスクロールが動いてる間は並列イベントの開始をする事ができませんが、既に起動している並列イベントは止まりません。
つまり並列イベントを先に起動してウェイトを挟んで処理を書いていけば文章のスクロールの途中で処理を次々行っていく事が可能です。
また、その並列イベントで変数やスイッチ等を操作してコントロールすればトリガーを並列処理にしたマップイベント等も文章のスクロール中に動かせたと思います。
Re:
Posted: 2022年1月27日(木) 12:49
by ドラムカン
なぴぃ 様
ご回答くださり、ありがとうございます。
事前に開始した並列処理は止まらないのですね。
しかし、事前に開始してもウェイト処理を挟むと、その後の処理が走らないようでした。
移動ルートイベントに挟んだウェイトも同様です。
移動ルートイベント(右移動 等)は、動いてくれるのですが
ウェイトの後に画面フェードインなどが効かず、ウェイトを挟むとダメなのかと思っております。
手順としましては、マップに配置したイベント(決定ボタンがトリガー)から、並列処理にしたコモンイベントのスイッチを入れて、移動ルートイベントを呼び出すようにしております。
表示は、マップに配置したイベントから、並列処理のスイッチを入れた後に実行しています。
何かやり方が間違えているのでしょうか。
Re: 文章スクロール中に並列処理
Posted: 2022年1月27日(木) 13:59
by なぴぃ
しかし、事前に開始してもウェイト処理を挟むと、その後の処理が走らないようでした。
移動ルートイベントに挟んだウェイトも同様です。
移動ルートイベント(右移動 等)は、スクロール中も動いてくれるのですが
ウェイトの後に画面フェードインなどが効かず、ウェイトを挟むとダメなのかと思っております。
確認してみたところ「画面のフェードイン」にメッセージ表示中は待つような処理が含まれているようでした。
ウェイトは問題ないはずです。
ですので「画面のフェードアウト」「画面のフェードイン」ではなく「画面の色調変更」で真っ暗にしたり戻したりするか画面サイズの黒画像を用意してピクチャの透明度で暗転させればそのまま動くようになると思います。
メッセージ表示中に待つ仕様になってるコマンドは文章の表示関連(選択肢の表示や数値入力等)、場所移動、ムービーの再生等にも含まれるようです。
そのためこれらのコマンドを文章のスクロールの裏の並列イベントで動かしたい場合はスクリプトで行う必要がありそうです。
Re:
Posted: 2022年1月27日(木) 15:28
by ドラムカン
なぴぃ 様
早速のご返答、誠にありがとうございます。
なるほど、ウエイトではなくウエイトの後に置いた画面のフェードインに原因があったのですね。
文字の表示を待つ処理といえば、かなり多そうですが、画面暗転とイベントの移動さえできれば
何とかなりそうですので、本日、早速やってみたいと思います。
また何か問題が発生しましたら、追記させていただきますので
よろしくお願いいたします。
Re:
Posted: 2022年1月28日(金) 10:12
by ドラムカン
なぴぃ様
いつもお世話になっております。
まず、なぴぃ様が述べられた仕様に加え、
並列処理に移動ルートイベントを設置したとき、
移動完了までウエイトをかけていると、その後に設置したイベントが走らないようでした。
これは、画面の色調変更イベントも含まれます。
そのため移動ルートイベントの中で、スクリプトから画面の色調変更を行うようにしなければなりません。
この辺りは、並列処理における文章処理や移動ルートのウエイトの仕様なのでしょうね。
移動ルートを一度でも挟む場合は、すべてその中で完結させなければ
タイミングの同期が取れなくなりますので
スクリプトを無理やり1行にまとめるなど、工夫していこうと思います。
色々とご教示くださり、本当にありがとうございました。
また機会がありましたら、よろしくお願い申し上げます。
Re: 【解決済み】文章スクロール中に並列処理
Posted: 2022年1月28日(金) 17:04
by なぴぃ
まず、なぴぃ様が述べられた仕様に加え、
並列処理に移動ルートイベントを設置したとき、
移動完了までウエイトをかけていると、その後に設置したイベントが走らないようでした。
これは、画面の色調変更イベントも含まれます。
書かれているように並列処理に「移動ルートの設定(完了までウエイト)」を設置し、その後に色調変更を行ってみましたが、問題なく文章のスクロール中に色調変更できているようです。
https://gyazo.com/ccc55686ff15b8785ea0c148b8487359

以前1分程の文章スクロールの裏で複数キャラを動かす回想シーンを動かすという事をやった事がありますが文章のスクロールの裏でもかなりいろいろできたように思います。
ただ、過去に作ったものを確認して思い出したのですが場所移動に関してはスクリプトでも行えなかったかもしれません。
大きなマップ内に複数のエリアを作りマップ内移動と共に途中でタイルセットを切り替えてマップ移動したように見せかけるという事をしていました。
同じマップ内ならlocateメソッドで瞬間移動可能です。
コード: 全て選択
$gamePlayer.locate(7, 3);
Re: 【解決済み】
Posted: 2022年1月28日(金) 22:47
by ドラムカン
なぴぃ様
詳しくご解説くださり、ありがとうございました。
画像のようにしたのですが
最後の処理が反応なしでした。
フェードイン/フェードアウトは使わず
画面の色調変更のみで暗転させ、元の画面に戻すようにしていますが
なぜか反応がありません。
その下に配置した他のイベントも全く動いてくれませんでした。
プラグインが影響しているのかと思い、すべてOFFにしてみましたが変わりませんでした。
しかし、きっとまだ何か私の気づいていない点があるのだと思います。
こちらでもう少し調査いたします。
ここまでお付き合いくださり、本当にありがとうございました。