【解決済】トリアコンタン様のカスタムメニュー作成プラグインから別シーンへ遷移し戻る場合

辛味噌
記事: 71
登録日時: 2016年10月02日(日) 23:33

【解決済】トリアコンタン様のカスタムメニュー作成プラグインから別シーンへ遷移し戻る場合

投稿記事by 辛味噌 » 2021年5月06日(木) 22:55

いつもお世話になっております。
Google先生に相談し、ツクマテおよびフォーラムの過去記事検索でも類似の内容が発見できなかったため、初歩的な内容かもしれませんがご質問させていただきます。

トリアコンタン様のカスタムメニュー作成プラグイン(SceneCustomMenu.js)を利用し始めたのですが、これで下記のようなオリジナルのメニュー画面(デフォルトのメニューとは別)を作成してみました。


【オリジナルメニューシーン登録概要】
・Windowを1つ設定
・そのWindowの「コマンドリスト」に「アイテム」「装備」「ステータス」という名前の3つの項目内容を登録
・「決定イベント」にコモンイベント1番を設定
・「キャンセルイベント」にはスクリプトで「SceneManager.goto(Scene_Map); // マップ画面に遷移」を設定
・「インデックス格納変数」には変数0001を設定
・コモンイベント1番に下記を設定

コード: 全て選択

◆条件分岐:変数0001 = 0
  ◆スクリプト:SceneManager.push(Scene_Item);
:分岐終了
◆条件分岐:変数0001  = 1
  ◆スクリプト:SceneManager.push(Scene_Equip);
:分岐終了
◆条件分岐:変数0001  = 2
  ◆スクリプト:SceneManager.push(Scene_Status);
:分岐終了



【実際の挙動】
上記設定の後、テストプレイで当該オリジナルメニューシーンを呼び出すと、コマンドリストに登録した3つのコマンド「アイテム」「装備」「ステータス」がWindowに現れました。
「アイテム」を選択するとScene_Itemに、
「装備」を選択するとScene_Equipに、
「ステータス」を選択するとScene_Statusにシーンが遷移します。
ここまでは期待通りでした。
しかし、遷移先のシーンからキャンセルで当該オリジナルメニューシーンに戻ってきたとき、
Windowのカーソルは常に一番上にある「アイテム」を指しています。


【ご質問事項】
「装備」を選択しScene_Equipに遷移した後キャンセルをしたら、Windowのカーソルが「装備」に、
「ステータス」を選択しScene_Statusに遷移した後キャンセルをしたら、Windowのカーソルが「ステータス」に位置しているにはどのようにすればよいでしょうか。



かなり初歩的な内容かもしれません…
使い方を間違えている気満々ですが、どなたかご教示いただけますと大変助かりますm(__)m
最後に編集したユーザー 辛味噌 on 2021年5月07日(金) 14:35 [ 編集 1 回目 ]

ecf5DTTzl6h6lJj02
記事: 450
登録日時: 2018年12月23日(日) 13:55

Re: トリアコンタン様のカスタムメニュー作成プラグインから別シーンへ遷移し戻る場合

投稿記事by ecf5DTTzl6h6lJj02 » 2021年5月07日(金) 13:00

こんにちは。
辛味噌 さんが書きました:トリアコンタン様のカスタムメニュー作成プラグイン(SceneCustomMenu.js)を利用し始めたのですが、これで下記のようなオリジナルのメニュー画面(デフォルトのメニューとは別)を作成してみました。


【オリジナルメニューシーン登録概要】
・Windowを1つ設定
・そのWindowの「コマンドリスト」に「アイテム」「装備」「ステータス」という名前の3つの項目内容を登録
・「決定イベント」にコモンイベント1番を設定
・「キャンセルイベント」にはスクリプトで「SceneManager.goto(Scene_Map); // マップ画面に遷移」を設定
・「インデックス格納変数」には変数0001を設定
・コモンイベント1番に下記を設定

コード: 全て選択

◆条件分岐:変数0001 = 0
  ◆スクリプト:SceneManager.push(Scene_Item);
:分岐終了
◆条件分岐:変数0001  = 1
  ◆スクリプト:SceneManager.push(Scene_Equip);
:分岐終了
◆条件分岐:変数0001  = 2
  ◆スクリプト:SceneManager.push(Scene_Status);
:分岐終了



【実際の挙動】
上記設定の後、テストプレイで当該オリジナルメニューシーンを呼び出すと、コマンドリストに登録した3つのコマンド「アイテム」「装備」「ステータス」がWindowに現れました。
「アイテム」を選択するとScene_Itemに、
「装備」を選択するとScene_Equipに、
「ステータス」を選択するとScene_Statusにシーンが遷移します。
ここまでは期待通りでした。
しかし、遷移先のシーンからキャンセルで当該オリジナルメニューシーンに戻ってきたとき、
Windowのカーソルは常に一番上にある「アイテム」を指しています。


【ご質問事項】
「装備」を選択しScene_Equipに遷移した後キャンセルをしたら、Windowのカーソルが「装備」に、
「ステータス」を選択しScene_Statusに遷移した後キャンセルをしたら、Windowのカーソルが「ステータス」に位置しているにはどのようにすればよいでしょうか。

未テストですが、

  1. 『初期イベント』の『スクリプト』で、プルダウンから
    SceneManager.changeWindowIndex('window1', 1); // 指定ウィンドウのインデックス変更
    を選択。
  2. 『'window1'』の部分 をインデックスを変更したいウィンドウの識別名に変更する。
  3. 『1』の部分を『$gameVariables.value(n)』に変更する。(n はインデックス格納変数に設定した変数ID)
これで、遷移先のシーンから戻ってきたときに、カーソル位置が、選択していた位置になると思います。
キャンセルしたときに、インデックス格納変数には -1 が入るはずなので、キャンセルして開きなおしたときには、
カーソル位置が先頭に戻るはずです。

また、『初期イベント』の『ウィンドウ識別子』 にこのウィンドウを指定しておけば、
キャンセルボタンで元の画面(マップイベントで呼び出しているならマップ)に戻るので、
キャンセルイベントでマップ画面に遷移させる必要はないような気がします。
辛味噌
記事: 71
登録日時: 2016年10月02日(日) 23:33

Re: トリアコンタン様のカスタムメニュー作成プラグインから別シーンへ遷移し戻る場合

投稿記事by 辛味噌 » 2021年5月07日(金) 14:35

ecf5DTTzl6h6lJj02さま

ご回答ありがとうございます。
やってみたところ…出来た!出来ました! 

半日以上悩んでいたのに瞬殺解決で身震いしております…感動いたしました…


本件はこれにてCloseさせていただきます。

ecf5DTTzl6h6lJj02さま、この度は貴重なお時間・お知恵をご提供いただきまして有難うございました。
重ね重ね感謝申し上げますm(__)m

“MV:質問” へ戻る