【解決済み】テキストウインドウの強制終了について
Posted: 2024年5月28日(火) 23:52
①現在、テキストウインドウをスイッチ(ここではスイッチAとします)のONを感知させて表示させています。
②スイッチは「1つがONになっているときはOFFになる」という仕様にしており、例えば「スイッチAがONの状態」から「スイッチBをON」の状態にすると、スイッチAは自動的にOFFになります。
さて、この時に①に書いたようにスイッチのONを感知させてウインドウを表示させているため、理論上は②のように動作させた場合、「スイッチAのテキスト」が表示された後に「スイッチBのテキスト」が表示されると思いますが、「テキストウインドウを表示中でも強制終了させる」などといった仕様を挟んでいないのが原因なのか、思うとおりに表示してくれません。具体的には「森に行く」を選択したときに表示されるテキストが、閉じずに残っている状態です(決定キーで閉じないように設定したため)。
どなたか、よい方法、スクリプトなどご存じの方いましたら、ご教授いただければと思います。
以下に、現在記述しているイベントを2つ記述しておきます。
※一部スクリプトに関しては、いろいろ試行錯誤していたため、不必要なものが残っている場合があります、ご了承ください。
※補足 ちなみに、MessageSkip.jsというのを見つけたため、あらたに生成したスイッチで制御をおこなおうとしましたが、スクリプトが正しくなかったのか、思ったように動作しませんでした。以下詳細のURL
https://plugin.fungamemake.com/archives/1201
②スイッチは「1つがONになっているときはOFFになる」という仕様にしており、例えば「スイッチAがONの状態」から「スイッチBをON」の状態にすると、スイッチAは自動的にOFFになります。
さて、この時に①に書いたようにスイッチのONを感知させてウインドウを表示させているため、理論上は②のように動作させた場合、「スイッチAのテキスト」が表示された後に「スイッチBのテキスト」が表示されると思いますが、「テキストウインドウを表示中でも強制終了させる」などといった仕様を挟んでいないのが原因なのか、思うとおりに表示してくれません。具体的には「森に行く」を選択したときに表示されるテキストが、閉じずに残っている状態です(決定キーで閉じないように設定したため)。
どなたか、よい方法、スクリプトなどご存じの方いましたら、ご教授いただければと思います。
以下に、現在記述しているイベントを2つ記述しておきます。
※一部スクリプトに関しては、いろいろ試行錯誤していたため、不必要なものが残っている場合があります、ご了承ください。
※補足 ちなみに、MessageSkip.jsというのを見つけたため、あらたに生成したスイッチで制御をおこなおうとしましたが、スクリプトが正しくなかったのか、思ったように動作しませんでした。以下詳細のURL
https://plugin.fungamemake.com/archives/1201
コード: 全て選択
メッセージ表示イベント(1例)
出現条件:スイッチ「#0002 森へ行く選択」がONの時
トリガー:自動実行
◆プラグインコマンド:MessageRows 4
◆プラグインコマンド:MessageWidth 400
◆スクリプト:Window_Message.prototype.updatePlacement = function() {
: : this._positionType = 0;
: : this.y = 50;
: : this.x = 50;
: :};
◆スクリプト:Window_Message.prototype.processNormalCharacter = function(textState) {
: : var c = textState.text[textState.index++];
: : var w = this.textWidth(c);
: : if (this.contents.width - textState.x >= w) {
: : this.contents.drawText(c, textState.x, textState.y, w * 2, textState.height);
: : textState.x += w;
: : } else {
: : this.processNewLine(textState);
: : textState.index--;
: : }
: :};
◆スクリプト:Window_Message.prototype.isTriggered = function() {
: : return false;
: :};
◆スクリプト:Window_Message.prototype._updatePauseSign = function() {
: : this._windowPauseSignSprite.visible = false; // カーソルのスプライトを非表示に設定
: :};
◆文章:なし, ウィンドウ, 上
: :テスト用メッセージ
コード: 全て選択
マップチップで生成したボタンを選択(1例)
出現条件:スイッチ「#0002 森へ行く選択」がONの時
トリガー:並列処理
◆ループ
◆条件分岐:ボタン[決定]が押されている
◆コモンイベント:森へ行く
◆ループの中断
◆
:分岐終了
◆条件分岐:右ボタン押下がON
◆スイッチの操作:#0002 森へ行く選択 = OFF
◆スイッチの操作:#0003 装備選択 = ON
◆SEの演奏:Cursor1 (90, 100, 0)
◆スイッチの操作:#0005 右ボタン押下 = OFF
◆スイッチの操作:#0007 待機中 = ON
◆変数の操作:#0001 ウェイト = 20
◆ループ
◆ウェイト:1フレーム
◆変数の操作:#0001 ウェイト -= 1
◆条件分岐:ボタン[右]が押されている
◆
:それ以外のとき
◆条件分岐:ボタン[左]が押されている
◆
:それ以外のとき
◆変数の操作:#0001 ウェイト = 0
◆
:分岐終了
◆
:分岐終了
◆条件分岐:ウェイト ≤ 0
◆ループの中断
◆
:分岐終了
◆
:以上繰り返し
◆スイッチの操作:#0007 待機中 = OFF
◆ループの中断
◆
:分岐終了
◆条件分岐:左ボタン押下がON
◆スイッチの操作:#0002 森へ行く選択 = OFF
◆スイッチの操作:#0004 買い物選択 = ON
◆SEの演奏:Cursor1 (90, 100, 0)
◆スイッチの操作:#0006 左ボタン押下 = OFF
◆スイッチの操作:#0007 待機中 = ON
◆変数の操作:#0001 ウェイト = 20
◆ループ
◆ウェイト:1フレーム
◆変数の操作:#0001 ウェイト -= 1
◆条件分岐:ボタン[左]が押されている
◆
:それ以外のとき
◆条件分岐:ボタン[右]が押されている
◆
:それ以外のとき
◆変数の操作:#0001 ウェイト = 0
◆
:分岐終了
◆
:分岐終了
◆条件分岐:ウェイト ≤ 0
◆ループの中断
◆
:分岐終了
◆
:以上繰り返し
◆スイッチの操作:#0007 待機中 = OFF
◆ループの中断
◆
:分岐終了
◆条件分岐:上ボタン押下がON
◆スイッチの操作:#0002 森へ行く選択 = OFF
◆スイッチの操作:#0010 会話選択 = ON
◆SEの演奏:Cursor1 (90, 100, 0)
◆スイッチの操作:#0011 上ボタン押下 = OFF
◆スイッチの操作:#0007 待機中 = ON
◆変数の操作:#0001 ウェイト = 20
◆ループ
◆ウェイト:1フレーム
◆変数の操作:#0001 ウェイト -= 1
◆条件分岐:ボタン[上]が押されている
◆
:それ以外のとき
◆条件分岐:ボタン[下]が押されている
◆
:それ以外のとき
◆変数の操作:#0001 ウェイト = 0
◆
:分岐終了
◆
:分岐終了
◆条件分岐:ウェイト ≤ 0
◆ループの中断
◆
:分岐終了
◆
:以上繰り返し
◆スイッチの操作:#0007 待機中 = OFF
◆ループの中断
◆
:分岐終了
◆ウェイト:1フレーム
◆
:以上繰り返し