【一旦解決】SceneCustomMenuの使い方でお聞きします

ヒグラシ
記事: 94
登録日時: 2019年8月03日(土) 21:00

Re: SceneCustomMenuの使い方でお聞きします

投稿記事by ヒグラシ » 2020年7月08日(水) 01:56

トリアコンタン様

お返事ありがとうございます!

追記分に関してはtextWidth('表示したい文字列')をr.widthから引くことで右寄せできました。
textWidthはかなりキモになる部分ですね。この方法では末尾に'right'すら不要になってしまいました^^;
そこに仰られたとおりchangeTextColor()で色を変更できました。
ありがとうございました。

②に関しては動作を確認できました。これは便利ですね。

問題は①と③ですがもう少しヒントをいただきたいのですが
先程の画像のようにやるにはコモンイベントはどのタイミングで行う必要がありますか?
決定ボタンを押したときには使うなどのアイテムごとのコマンドが表示されるようになっているので
ここでは想定している動作と違います。
とするとシーンの初期イベントのコモンイベント中にボタンが押されたことを判定して処理を行うのですか?
これだとシーンはじめに一度しか処理されないので違う気がします。

とすると残った考えられる方法としては初期イベントのスイッチを設定して
コモンイベントに並列処理としてスイッチを割り当てるということですか?
しかしこの方法ではメニューを閉じた後に処理が実行されるようでした。

コモンイベントには以下のようにしました。

コード: 全て選択

◆条件分岐:ボタン[ページアップ]が押されている
  ◆スクリプト:SceneManager.changeWindowIndex('category', 0);
  ◆
:分岐終了
◆条件分岐:ボタン[ページダウン]が押されている
  ◆スクリプト:SceneManager.changeWindowIndex('category', 1);
  ◆
:分岐終了


自分でも色々検証しましたがわかりませんでした。
よければボタンを押した後に即座に
カテゴリの切り替えをする方法もう少しくわしくお願いします。
とりあえず現在はクリックで切り替えは考慮せず
ボタンによる切り替え方法を探っている状態です。
お忙しいところ大変お手数おかけしますがよろしくおねがいします。

本件について万一解決に至らないようであればカテゴリ切り替えを諦め別の方法を考えます。

アバター
トリアコンタン
記事: 2311
登録日時: 2015年11月10日(火) 21:13
お住まい: きのこ王国
連絡を取る:

Re: SceneCustomMenuの使い方でお聞きします

投稿記事by トリアコンタン » 2020年7月09日(木) 00:48

まず、このプラグインでイベントとして定義しているボタンは『決定』と『キャンセル』のみなので、それ以外のボタンをトリガーとすることはできません。

現在フォーカスが当たっているウィンドウについては「SceneManager._focusWindowId」で取得可能です。


あと③についてですが、すみません。
このプラグインだけだとクリック座標を監視することができないのでイベントだけで実現はできないですね。。
一応、メニュー画面でコモンイベントを並列実行できるプラグインを別途公開していますが、組み合わせて実現するのはちょっと大変かもしれアマ戦。

https://raw.githubusercontent.com/triacontane/RPGMakerMV/master/MenuCommonEvent.js
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30

[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
ヒグラシ
記事: 94
登録日時: 2019年8月03日(土) 21:00

Re: SceneCustomMenuの使い方でお聞きします

投稿記事by ヒグラシ » 2020年7月10日(金) 19:13

トリアコンタン様

代替方法の提案をありがとうございます。
提案されたプラグインを試してみてそれでもできなければ
カテゴリの変更は諦めます。

1つのスイッチでシーン内の複数ウィンドウの再描画を可能とするスイッチは
複数のスイッチが不要となりうっかり未更新ウィンドウのミスが減ると思うので
是非ともお願いしたいところです。こちらは気が向いたときにでも…。

これまで長くなってしまいましたがお忙しい中何度もご回答ありがとうございました。
また、論理イヌ様のおかげもあり様々な疑問点が解決しました。
この場を借りてお礼致します。ありがとうございました。
まだ完全には完成できてませんがこちらのトピックは一旦ここまでとします。
若干の要望などもありますのでまとめて別トピックとして質問することにします。
またお世話になるとおもいますがその節もどうかよろしくおねがいします。
論理イヌ
記事: 186
登録日時: 2020年3月13日(金) 13:05

Re: 【一旦解決】SceneCustomMenuの使い方でお聞きします

投稿記事by 論理イヌ » 2020年7月10日(金) 19:31

ヒグラシ様

③の、フォーカスしていないウィンドウをクリックできるようにする(タブのようにウィンドウを切り替える)機能について、
もし実現できましたら、ここや「MV:小ネタ・TIPS・講座https://tm.lucky-duet.com/viewforum.php?f=56」などに投稿していただけましたら幸いです。

私もその機能が欲しくて試行錯誤しましたが、実現できなかったので……。
(↓その時の質問内容です。何かヒントになれば。
viewtopic.php?f=23&t=9484

トリアコンタン様がいろいろアドバイスくださったので、私の方でも再度チャレンジしてみます。
ヒグラシ
記事: 94
登録日時: 2019年8月03日(土) 21:00

Re: 【一旦解決】SceneCustomMenuの使い方でお聞きします

投稿記事by ヒグラシ » 2020年7月10日(金) 22:20

論理イヌ様

とりあえずクリックのほうはなんとかなりました。
先程トリアコンタン様がオススメしていただいたプラグインを導入して
該当シーンに並列処理させるコモンイベントを割り当て、
そのコモンイベント内で以下のようにしました。
但しTouchInput.mouseXとYは以下のトピックを参照してください。
viewtopic.php?t=3213

コード: 全て選択

◆条件分岐:スクリプト:TouchInput.isTriggered()
  ◆条件分岐:スクリプト:TouchInput.mouseX > 40 && TouchInput.mouseX < 140
    ◆条件分岐:スクリプト:TouchInput.mouseY > 40 && TouchInput.mouseY < 75
      ◆コモンイベント:持ち物クリック
      ◆
    :分岐終了
    ◆
  :分岐終了
  ◆条件分岐:スクリプト:TouchInput.mouseX > 155 && TouchInput.mouseX < 255
    ◆条件分岐:スクリプト:TouchInput.mouseY > 40 && TouchInput.mouseY < 75
      ◆コモンイベント:貴重品クリック
      ◆
    :分岐終了
    ◆
  :分岐終了
  ◆
:分岐終了


これでクリックしたら該当のコモンイベントを呼べるのでなんとかなりそうです。
マウス座標を取得して判定する方法なので原始的なやり方ですがこれしか思いつきませんでした。

あとは特定のウィンドウフォーカス時にボタンを判定する方法ですがこれは
トリアコンタン様が仰るように決定ボタンしか対応してないので
このプラグインの使用上難しそうですね。再度別方法を検討することにします。
何か名案があれば教えていただけますと嬉しいです。

<追記>
今改めて考えたらこの並列処理内でボタン判定させればいいことに気がついた(汗)
論理イヌ
記事: 186
登録日時: 2020年3月13日(金) 13:05

Re: 【一旦解決】SceneCustomMenuの使い方でお聞きします

投稿記事by 論理イヌ » 2020年7月11日(土) 14:51

なるほど、座標でクリックしたかを見るんですね。
たしかに、この方法だとなんとかなりそうです。

スクリプトもありがとうございます。

解決済みですのに回答ありがとうございました。
私もこの方法で、諦めていたタブメニューを再考してみます。

“MV:質問” へ戻る