【解決済】オプション任意項目作成(CustomizeConfigItem.js)のスクリプトについて

返信する
まさゆ
記事: 74
登録日時: 2022年2月11日(金) 11:38

【解決済】オプション任意項目作成(CustomizeConfigItem.js)のスクリプトについて

投稿記事 by まさゆ »

トリアコンタン様、有識者様

オプション任意項目作成(CustomizeConfigItem.js)の「スクリプト」について質問があります。
https://raw.githubusercontent.com/triac ... figItem.js

設定したスイッチをオプションからON/OFFすると、それに同期して変数を変更する処理を実装したいと思っています。
それで、添付するキャプチャのように設定しました。
記載しているスクリプトの中身は
if($gameSwitches.value(1)){$gameVariables.setValue(1,"モードON");} else {$gameVariables.setValue(1,"モードOFF");}
になります。

それで、スクリプトの説明欄に「項目を決定したときに実行されるスクリプトです。」とありますが、
実際に挙動を確認すると、思ったように動作してくれません。
(ひょっとしてバグじゃないかと思っていますが、もし私の使用法が間違っていたらご指摘ください)

具体的に、
メニュー>オプションより作成した任意項目を実際にON/OFFしてみると、下記のようになります。
・モードをOFF→ONして画面に戻ると、変数1に”モードOFF”が入っている(私の期待値は”モードON”)
・モードをON→OFFして画面に戻ると、変数1に”モードON”が入っている(私の期待値は”モードOFF”)
・モードをOFF→ON→OFFして画面に戻ると、変数1に”モードOFF”が入っている(私の期待値は”モードOFF”なのでOKだが)
・モードをON→OFF→ONして画面に戻ると、変数1に”モードON”が入っている(私の期待値は”モードON”なのでOKだが)

上記を見ると、「項目を決定する前にスクリプトが実行されている」ように見えますが如何でしょうか?

なお、上記はProjectをド新規で作成し、PluginCommonBaseとCustomizeConfigItemのみを入れて試しています。

ご確認よろしくお願い致します。
添付ファイル
screenshot.png
最後に編集したユーザー まさゆ [ 2025年2月21日(金) 23:12 ], 累計 1 回
名無し蛙
記事: 352
登録日時: 2015年11月23日(月) 02:46

Re: オプション任意項目作成(CustomizeConfigItem.js)のスクリプトについて

投稿記事 by 名無し蛙 »

まさゆ さんが書きました:それで、スクリプトの説明欄に「項目を決定したときに実行されるスクリプトです。」とありますが、
実際に挙動を確認すると、思ったように動作してくれません。
(ひょっとしてバグじゃないかと思っていますが、もし私の使用法が間違っていたらご指摘ください)
間違っているかと言われたら想定されていない使用法でしょうねぇ。
スクリプトの実行タイミングに関しては説明通りですが
スイッチの更新がイメージ通りではなくオプション画面から抜けるタイミングに発生します。

では画面上のON/OFFの切り替えはどこのスイッチを使っているのか?と言うと詳細は省きますけど

コード: 全て選択

ConfigManager.Boolean1
というスイッチですね。
スイッチ項目(Boolean)の1番目の項目だからBoolean1です。
数値項目の場合はNumber、文字列項目の場合はString、音量項目の場合はVolumeと続きます。
具体的に何をしたいのか見当が付きませんが
$gameSwitches.value(1)の部分をConfigManager.Boolean1に変更すれば想定の挙動になるんじゃないですか。
まさゆ
記事: 74
登録日時: 2022年2月11日(金) 11:38

Re: オプション任意項目作成(CustomizeConfigItem.js)のスクリプトについて

投稿記事 by まさゆ »

名無し蛙様

指示通りスクリプトを書き換えたら希望の挙動になりました。
大変助かりました。
ありがとうございます。
返信する

“MZ:質問”に戻る