【解決済】OptionEx.jsを実装すると「Input.gamepadMapper」の直接編集(A/Bボタン入れ替え)が反映されない

まさゆ
記事: 48
登録日時: 2022年2月11日(金) 11:38

【解決済】OptionEx.jsを実装すると「Input.gamepadMapper」の直接編集(A/Bボタン入れ替え)が反映されない

投稿記事by まさゆ » 2022年12月29日(木) 16:12

OptionEx.js
https://plugin-mz.fungamemake.com/archives/2790
のプラグインについて質問があります。

こちらのプラグインを実装して、「rmmz_core.js」の「Input.gamepadMapper」でA/Bボタン入れ替え編集をすると、何故かそれが反映されません。
こちらは、「OptionEx.js」のバグでしょうか?それとも仕方ない制約(仕様)になりますでしょうか?

「Input.gamepadMapper」ですが、具体的には下記のように書き換えました。
ーー
0: "cancel", // B
1: "ok", // A
ーー
ただ、実際にゲームパッドを触ってもボタンの入れ替えが反映されていません。

一方、
ーー
2: "menu", // Y
3: "shift", // X
ーー
のように、メニューとシフトの入れ替え編集をすると、ゲームパッド上でちゃんと反映されます。

「OptionEx.js」の一機能として、A/Bボタン入れ替えをするところがあり、
それが何かしらの影響を与えていると推測するのですが、もしバグでしたらFixなど出来ますでしょうか?
(「OptionEx.js」をOFFにして「Input.gamepadMapper」を編集するとA/Bボタンの入れ替えが出来ていることは確認しています)

ご確認よろしくお願い致します。
最後に編集したユーザー まさゆ on 2023年1月16日(月) 03:27 [ 編集 1 回目 ]

まさゆ
記事: 48
登録日時: 2022年2月11日(金) 11:38

Re: OptionEx.jsを実装すると「Input.gamepadMapper」の直接編集(A/Bボタン入れ替え)が反映されない

投稿記事by まさゆ » 2022年12月29日(木) 22:36

最初のにちょっと書き忘れたことがありました。以下の通り補足させてもらいます。

「OptionEx.js」ですが設定画面を開くと、添付画像のように「A/Bボタン入れ替え」があり、
「A/Bボタン入れ替えの使用」をtrue/falseすることで機能の有効化/無効化が出来ます。
ab_change.png

これを「false」にしても、先に私が報告させてもらった通り、「Input.gamepadMapper」の直接編集でA/Bボタンの切り替えが成されません。(勿論、「true」にしても同様)

ご確認よろしくお願い致します。
アバター
Plasma Dark
記事: 669
登録日時: 2020年2月08日(土) 02:29
連絡を取る:

Re: OptionEx.jsを実装すると「Input.gamepadMapper」の直接編集(A/Bボタン入れ替え)が反映されない

投稿記事by Plasma Dark » 2022年12月30日(金) 10:04

まず、rmmz_core.jsを直接編集することは推奨しません。
小さい変更であっても、プラグインを作って試すほうが安全です。

決定とキャンセルを入れ替えるのであれば、以下の内容のプラグインを作って読み込むだけです。

コード: 全て選択

(() => {
  'use strict';

  Input.gamepadMapper[0] = "cancel";
  Input.gamepadMapper[1] = "ok";
})();


さて、OptionEx.jsでは、Input.gamepadMapperの0,1番を再定義しています。
プラグインの処理はコアスクリプトよりも後に行われるので、コアスクリプト上でInput.gamepadMapper[0], Input.gamepadMapper[1]を書き換えたとしても、OptionEx.jsで上書きされてしまうというわけです。

AB入れ替え設定がOFFの場合、OptionEx.jsよりも後に読み込んだプラグインで0,1番含めすべての設定値を変更可能です。
AB入れ替え設定がONかつ、その他のゲームパッド設定系のプラグインと併用することは推奨されていないのだと思われます。

ゲームパッド設定系のプラグインと一緒に使う場合は、A/B入れ替えの使用設定をOFFにし、ゲームパッド設定系のプラグインよりも前にOptionEx.jsを読み込むと良いと思います。
まさゆ
記事: 48
登録日時: 2022年2月11日(金) 11:38

Re: OptionEx.jsを実装すると「Input.gamepadMapper」の直接編集(A/Bボタン入れ替え)が反映されない

投稿記事by まさゆ » 2022年12月30日(金) 11:03

Plasma Darkさん、年末のお忙しいときにお返事いただきありがとうございます。

一点こちらの状況を説明させてください。
最近、私の方でゲームを作って発売したのですが、購入者さんからこのゲームは「Input.gamepadMapper」を編集しても有効にならない、とお問い合わせをいただきました。
これまで私自身がゲームパッドを利用したことがなく、「Input.gamepadMapper」の存在すら知りませんでしたが、
これを機に初めてゲームパッドを購入して遊んでみたら、ゲームパッドの使い勝手の良さに大変感動しました。
なので、ゲームパッドユーザのために利便性を上げてあげたいと、関連のプラグインを試していたところ、いろいろなイシューを見付けて今回(一連の)問い合わせをさせてもらっています。

> まず、rmmz_core.jsを直接編集することは推奨しません。

→勿論、私は開発者側の人間なのでこの点は重々理解しています。
ただ、ゲームパッドユーザにはrmmz_core.js(Input.gamepadMapper)を結構自分でいじる人が多いと分かりました。

> 決定とキャンセルを入れ替えるのであれば、以下の内容のプラグインを作って読み込むだけです。

→上記で説明させてもらった通り、rmmz_core.js(Input.gamepadMapper)をいじるのはゲームパッドユーザになります。
なので、購入者側でプラグインを作って読み込ませることは出来ません。

それで、纏めて頂いた案ですが、、
> AB入れ替え設定がOFFの場合、OptionEx.jsよりも後に読み込んだプラグインで0,1番含めすべての設定値を変更可能です。

→購入者側では出来ない。

> AB入れ替え設定がONかつ、その他のゲームパッド設定系のプラグインと併用することは推奨されていないのだと思われます。

→はい。確かにこんな設定をするとぐちゃぐちゃになりそうなので承知です。

なので、私から要望を書かせてもらうと、、
『AB入れ替え設定がOFFの場合、コアスクリプト上でInput.gamepadMapper[0], Input.gamepadMapper[1]を書き換えても、OptionEx.jsで上書きされない。』が良いかと思うのですが、どう思われるでしょうか?

ご確認よろしくお願いします。
アバター
Plasma Dark
記事: 669
登録日時: 2020年2月08日(土) 02:29
連絡を取る:

Re: OptionEx.jsを実装すると「Input.gamepadMapper」の直接編集(A/Bボタン入れ替え)が反映されない

投稿記事by Plasma Dark » 2022年12月31日(土) 12:58

ゲームパッドユーザにはrmmz_core.js(Input.gamepadMapper)を結構自分でいじる人が多い


そんな馬鹿な。というのが正直な感想です。
プレイヤーの間にそんなバッドノウハウが中途半端に伝わっているのも信じたくないですが、「あなたのゲームを改造してもうまく動かないからなんとかしてくれ」という問い合わせが開発者に来てしまうのも地獄です。

購入者のゲーム改造をサポートしたいと仰るのであればそれは作って売る側の自由ですが、私としては思想上受け入れがたいので、プレイヤーがゲームを改造する方法をお答えすることはできません。

『AB入れ替え設定がOFFの場合、コアスクリプト上でInput.gamepadMapper[0], Input.gamepadMapper[1]を書き換えても、OptionEx.jsで上書きされない。』が良いかと思うのですが、どう思われるでしょうか?


これに答えるとするなら、「ゲームパッドの設定変更機能をゲームに搭載しない理由があるなら、改造による変更も許可すべきではないし、理由がないなら機能を搭載してしまえば解決すると思います」ですね。
まさゆ
記事: 48
登録日時: 2022年2月11日(金) 11:38

Re: OptionEx.jsを実装すると「Input.gamepadMapper」の直接編集(A/Bボタン入れ替え)が反映されない

投稿記事by まさゆ » 2022年12月31日(土) 14:20

Plasma Dark さん、返信ありがとうございます。

私のゲームパッド歴わずか数日による推測なので聞き流してもらいたいのですが、、
・これまでの日本メーカーのコントローラとXbox360のような海外メーカーのコントローラが逆になっているので、それに慣れない人はA/Bボタンの切り替えをしたい。(これは私の推測ではなく事実。ソースはネットの掲示板)
・PCゲームをしているくらいなので(まぁ、オタクというか・・)、ネットのリテラシーはある。
・ゲーム販売しているページに「このゲームはRPGツクールで作りました」と表記されていることが多いので、ちょっとググれば下記のようなページが簡単に見付けられる。
 https://gamezukushi.com/rpgtkoolmv/keyconfig

という感じで、自分でいじる人は案外多いんじゃないかと。。
私が”結構多い”と書いたのは、私の支援サイトに付いたコメント総数やメッセージ総数の割合から主観で書きました。(もし販売数を分母としたら、勿論そこまでじゃないですが・・)

ただ、 Plasma DarkさんがOptionEx.jsにA/Bボタン切り替えの機能をわざわざ組み込んだのは、そういったゲーム改造をする購入者さんの利便性を上げるために、だったら画面UIを用意してあげるからこのプラグインを使いなよ〜ってことで開発されたのかなと思ったのですが。。

> 「ゲームパッドの設定変更機能をゲームに搭載しない理由があるなら、改造による変更も許可すべきではないし、理由がないなら機能を搭載してしまえば解決すると思います」

すいません、この文章の読解が私にとって難しいのですが、、
「ゲームパッドの設定変更機能」というのは、例えば「Mano_InputConfig.js」のようなプラグインのことを仰っているのでしょうか?
であれば、一部不具合と思われる問題を発見して、現在制作者の方とやり取りをしているので、それ次第です。不具合が解消すれば勿論利用します。どうしても不具合が解消しない場合、利用を止める可能性があります。
で、もしその利用を止める場合、OptionEx.jsの本問題に直面してしまうため、先手を打って現在Plasma Dark さんとやり取りをさせてもらっています。

大前提として「そのプラグインが気に食わなければ使わなければいい」で私はアグリーの人間なので、対応不可ということであればそれで構わないのですが、
OptionEx.js(オプション画面のウィンドウをリッチにする)とA/Bボタン切り替え機能は切り離してよかったのではと思いました。せめてfalseにしたら何も触らないようにして欲しいと思いました。

ご確認よろしくお願いします。
まさゆ
記事: 48
登録日時: 2022年2月11日(金) 11:38

Re: OptionEx.jsを実装すると「Input.gamepadMapper」の直接編集(A/Bボタン入れ替え)が反映されない

投稿記事by まさゆ » 2022年12月31日(土) 16:35

※自己レス

もし「Mano_InputConfig.js」の不具合が解消せず利用を諦めた場合、「OptionEx.js」はA/B切り替えを使用:trueにしておいて、
もしshiftやmenuの切り替えまで行いたいというユーザがいたら、自己責任で「Input.gamepadMapper」の編集を案内すればいいのか。。

「Mano_InputConfig.js」も「OptionEx.js」もUIがイケてるので諦めたくない人。。
アバター
Plasma Dark
記事: 669
登録日時: 2020年2月08日(土) 02:29
連絡を取る:

Re: OptionEx.jsを実装すると「Input.gamepadMapper」の直接編集(A/Bボタン入れ替え)が反映されない

投稿記事by Plasma Dark » 2023年1月01日(日) 10:15

Plasma DarkさんがOptionEx.jsにA/Bボタン切り替えの機能をわざわざ組み込んだ


OptionEx.jsはんーぞーさんが作成されたプラグインであり、私は特に手を加えていません。
設定の意図としては、おっしゃる通りボタン配置に慣れないプレイヤー向けであると思います。

「ゲームパッドの設定変更機能」というのは、例えば「Mano_InputConfig.js」のようなプラグインのことを仰っているのでしょうか?


わかりにくくてすみません。おっしゃる通りの意図で合っています。
プレイヤーの自己責任において改造することを黙認するのは良いですが、改造を推奨したりサポートしたりするのは、少なくとも開発・販売側の負うべき仕事ではない、ということです。

OptionEx.js(オプション画面のウィンドウをリッチにする)とA/Bボタン切り替え機能は切り離してよかったのではと思いました。


個人の思想次第なところはありますが、私も同意します。
プラグインの責務が単一であることよりも、利便性を重視しているのでしょう。
まさゆ
記事: 48
登録日時: 2022年2月11日(金) 11:38

Re: OptionEx.jsを実装すると「Input.gamepadMapper」の直接編集(A/Bボタン入れ替え)が反映されない

投稿記事by まさゆ » 2023年1月01日(日) 10:29

えええええ・・、あっ、本当ですね。。すいません、てっきり。。
Plasma Darkさん、いろいろフォローアップありがとうございます。
まさゆ
記事: 48
登録日時: 2022年2月11日(金) 11:38

Re: OptionEx.jsを実装すると「Input.gamepadMapper」の直接編集(A/Bボタン入れ替え)が反映されない

投稿記事by まさゆ » 2023年1月16日(月) 03:26

こちら解決済にします。

厳密には下記の対応により本イシューが気にならなくなっただけで、個人的には気になってしまう仕様。
viewtopic.php?f=99&t=13440

“MZ:質問” へ戻る