RGSS3/変数スイッチ式コンフィグ画面

Last-modified: 2021-08-18 (水) 00:22:29

変数やスイッチの値を書き換えたり任意スクリプトを実行する汎用性の高いコンフィグ画面を作るよ.手間は比較的少なめだし自由度も高いよ.
当サイトの素材との相性が良さげだよ.他サイト様の『変数やスイッチで動作を制御する』素材とも相性バッチリ.
決して主役にはなり得ない素材だけどゲームに無くてはならない……例えるなら鍋に入れるネギのような素材になればいいな.
この手の素材探したけど他に無い感じだったから数少ないアイデンティティだよ.
ついでに

  • メニューキー
  • ダッシュキー
  • ゲーム速度120fps化関連
  • オートダッシュ
  • 戦闘アニメーション速度
  • 戦闘オート加速
  • 各種音量
  • メッセージ速度
  • ウィンドウスキン周り
  • フラッシュの軽減

をメソッド化してるから変数orスイッチ化できるよ.

長所:

  • できることの幅がとにかく広い.
  • 設定項目を簡単に追加できる.

短所:

  • 表示する項目数が増えると重い(初期設定のような方法で項目数をコントロールできると多少軽減可).

Q.メソッド化しまくってるけどこんなに設定項目いらん
A.その項目は適当に即値でも入れとけば問題ないよ

Q.ウィンドウスキンを設定項目にしたくないけどどうすりゃええのさ
A.window_variablesは使わない変数番号にして,RGBの変数を表示条件falseにして初期値設定して設定項目に入れとくと問題ないよ

スクリプト

Ver3.22時点での動作イメージ(動画)

loading...

Ver4.15時点での動作イメージ(動画)

loading...
更新履歴

更新履歴

Ver 4.17a

Hashを新規定義する際にキーがSymbolの場合は表記を簡略化できるらしいのでやってみた.
それに伴い,:defを:initに変更.

Ver 4.17

:list型の設定項目も内部値が全て数値ならゲージを表示できるように変更.

Ver 4.15

リスト型設定項目のリストを変数に代入した配列から取得する機能を追加.
設定項目の初期化が正常に行えなくなっていた不具合を修正.

Ver 4.02

ハッシュにしたら妙に重くなったように感じたので設定項目とウィンドウスキンを定数で定義するように変更.
多分3.25くらいの重さまで軽減されたはず.

Ver 4.00a

スイッチ型の項目の説明文がスクリプト型になる不具合を修正.

Ver 4.00

設定項目を全てハッシュで定義するように変更.
数値型の設定項目にてゲージを表示する設定を追加.
スクリプト実行時に確認を取るように変更.

Ver 3.25

ヘルプウィンドウに項目ごとの操作方法を表示する設定を追加.

Ver 3.22

設定ファイルの生成時以外で設定の初期化をする際,表示条件が"false"となっている項目は無視するように変更.

Ver 3.21

共通セーブ使用時,セーブデータが存在しなくてもコンフィグを有効にするように修正.

Ver 3.20

開始時と終了時に任意処理を割り込ませる機能を追加.
それに伴い,サウンドテスト機能をデフォルトで実装.

Ver 3.16

ウィンドウの縦幅も調整できるように変更.

Ver 3.14

共通セーブファイルの名称設定が反映されない不具合を修正.今の今まで気付かない作者の脳ミソを修正したい.

Ver 3.13

共通セーブ未使用時,ロード直後にフォント周りの設定が適用されていない不具合を修正.

Ver 3.12

共通セーブ未使用時,セーブ/ロード画面で各セーブデータのウィンドウ関連設定を適用するように変更.
説明文の誤植を修正.

Ver 3.08

スクリプト内から1~5000番の変数/スイッチ名を優先的に設定できるように変更.
(従来の5001番以降の変数/スイッチ名の設定項目から可能です)

Ver 3.07

数値の単位ではなくsprintfフォーマットによる自由形式の表記ができるように変更.
(設定項目の使い回しができなくなる更新ばかりで申し訳ありません^^;)

Ver 3.03

決定/キャンセルをスクリプト項目で作れるんでね?ってなったのでやってみる.
それに伴い,:confirmおよび:cancelを削除.
スクリプト項目からシーン遷移した際にエラー落ちする場合があるのを修正.

Ver 3.00

フレームレートを60⇔120(fps)で切り替えるキーを追加.
マップ・戦闘に限らず,あらゆるシーンで初期フレームレートを120fpsに設定できるように変更.
戦闘アニメーション速度をメソッド化.
(Ver 3.00って割には内容スッカスカだけど今のうちに3.00にしとかないとマジで更新できなくなるから許して)

Ver 2.72

項目にインデントを付加する機能を追加.

Ver 2.70

マップ・戦闘時のフレームレートを120fpsにする機能をメソッド化.
フラッシュの軽減をメソッド化.
:list定義関連の不具合を修正.

Ver 2.57

項目名の文字色を変更する機能を追加.

Ver 2.54

フォントサイズを文字列式に変更し,変数値などで調節できるように変更.

Ver 2.50

戦闘時に特定ボタンを押しっぱなしにしなくても加速する設定をメソッド化.

Ver 2.47

項目数が増加した際に項目が描画されない不具合を修正.

Ver 2.45

文字の装飾(影・縁取り)をメソッド化.

Ver 2.41

ウィンドウスキン変更→キャンセルでフォントが元に戻らない不具合を修正.

Ver 2.40

カーソル位置変動時の二重カーソル音問題を修正.

Ver 2.35

決定/キャンセルにも有効条件を追加.

Ver 2.32

:list設定時の表示値が反映されない不具合を修正.

Ver 2.30

表示条件を設定項目定義内に含めるように変更.
それに伴い,表示/非表示が切り替わったタイミングでカーソル位置を修正するように変更.

Ver 2.10

ウィンドウスキンにフォント名やフォントサイズを紐付けするように変更.

Ver 2.00

メッセージ速度をメソッド化.
共通セーブデータが存在しない時にエラー落ちするデフォルト設定項目を修正.

Ver 1.98

設定画面を開く際にウィンドウスキンのHashを変数側と設定側で統合(変数側優先)するように変更.

Ver 1.97

受付キーの書式も調整.
初期設定で,メニューキーとダッシュキーが重複できないように修正.

Ver 1.95

キー設定のキャンセルキーおよび削除キーを任意に設定できるように変更.

Ver 1.90

ウィンドウスキン画像を変更した際,ヘルプウィンドウの文字色が反映されない不具合を修正.

Ver 1.88

設定値の変更時にヘルプウィンドウを更新するように変更.
これにより,現在の設定値に応じて異なるメッセージを表示させることが可能に.

Ver 1.85

ウィンドウスキンの一覧を後から追加した際にエラー落ちする場合がある不具合を修正.
(後から追加した場合,設定の初期化を行うか設定ファイルを削除してください.)
動作テスト用の設定が残っていたのを削除.

Ver 1.84

ボタン設定で設定消去時に『0ボタン』となる不具合を修正.

Ver 1.83

デバッグ用にコンソールに文字を出力していたのを修正.
無駄にdumpしてloadしてた部分を修正.
window_skinsの使い方について補足.
それに伴い,デフォルトで表示値をwindow_skinsに指定できるように調整.

Ver 1.80

:windowによる設定項目定義を削除し,:listを用いてウィンドウスキンを設定するように変更.
設定項目にない変数やスイッチも共通セーブデータに含むことができる機能を追加.

Ver 1.70

ウィンドウスキン画像および色調を変数から参照できるように変更.

Ver 1.50

設定値をゲーム内全体で共有する設定を追加.
タイトル画面からコンフィグ画面を呼び出す設定を追加.
それに伴い,タイトル画面から呼び出してもデフォルトでキャンセルが表示されるように変更.

Ver 1.30

設定を初期値に戻すスクリプト項目をデフォルトに追加.
それに伴い,初期化処理時にBGM/BGS音量を反映する処理を追加.

Ver 1.29

特定操作で設定が巻き戻ってしまう不具合を修正.

Ver 1.28

スクリプトから他シーンクラスに遷移しても設定変更前の値を保持し,最終的にコンフィグ画面よりキャンセルした際に元の値に戻すように変更.

Ver 1.25

5001番目以降のスイッチ/変数の名前を設定できるように変更.

Ver 1.24

メニュー以外からコンフィグ画面を呼び出した場合,デフォルトでキャンセルを非表示にするように変更.
キャンセルの項目が存在しない場合,Bボタンによるキャンセルも無効にするように変更.

Ver 1.23

決定,キャンセルを除く全ての項目にて有効条件を設定できるように変更.

Ver 1.21

ウィンドウの位置を左/中央/右から選べるように変更.
リスト形式の初期値設定を内部値ではなくインデックスから指定するように変更.

Ver 1.20

スクリプトを実行できる設定項目を追加できるように変更.
決定/キャンセルの位置・項目名・説明文を編集できるように変更.

Ver 1.13

ボタン入力時に入力可能なボタン一覧を表示する設定を追加.
ボタン設定を消去した際の表示が『なし』になるように初期設定を変更.
(xorと同等の演算子あったわチクショウ)

Ver 1.12

数値に単位を付ける機能を追加.
リストの表示値と内部値を異なる値にする機能を追加.
ボタン入力の表示値に接尾語を付ける機能を追加.
(ウィンドウの横幅調整機能がいつの間にか付いてた)

Ver 1.09

スイッチに対しては決定ボタンでも切り替わるように変更.
決定/キャンセルの項目で左右を押すとエラー落ちする不具合を修正.

Ver 1.08

戦闘テスト開始時に設定の初期化を行うように変更.

Ver 1.07

BGM・BGS音量を変更後キャンセルした際に音量が一時的に元に戻らない不具合を修正.

Ver 1.06

BGM・BGS・ME・SE音量を変更(正確には%単位で乗算)する機能を追加.

Ver 1.03

常時ダッシュ機能を追加.

Ver 1.00

公開.

  • これは凄いですね・・音量画場っても -- 2019-09-27 (金) 10:30:21
    • すみません2度も同じ事書いてしまいました これがあれば製作者が音量ガバってもプレイヤーが調整できるし凄い良いですね! -- 2019-09-27 (金) 10:35:01
  • すごいです。自作したコンフィグもあるのですが、はるかにこっちの方が良くて使わせていただきます。 -- 2019-10-20 (日) 10:15:59
    • ご利用ありがとうございます.最近利用報告に飢えてたのでPCの前で狂喜乱舞してますヽ(=´▽`=)ノ -- コミュ太郎? 2019-10-20 (日) 10:21:13