2023-12-11

RGSS-キーコンフィグ機能

Comment ShareLink
«RGSS一覧

今回はゲームパッドのボタン配置がメーカーごとに異なるということをふまえて、キーボード・ゲームパッドどちらでも好みで対応ボタンの配置を変更できるキーコンフィグオプション実装スクリプトを作ってみました。
複雑なことはしていないのでデフォルト対応ボタンのみのキーコンフィグとなります。

ボタンの用途にカーソルを合わせて、用途により使いたいボタンを押すだけなのでプレイヤーが感覚的に変更できる、というのを目指しました。
導入がちょっと面倒なのでスクリプト内の注意点と導入方法をよくお読みください。

こちらは選択肢内にテキストとして変更キーが反映されるタイプです



導入方法

  • 配布キーコンフィグスクリプトをスクリプトエディタに貼り付ける
  • 配布スクリプト内の案内に沿って$game_systemに項目を追加
  • $scene = KeyConfig.new で呼び出し

使いやすいように適宜内容を変更。デフォルトではXYZLRはあまり使わないと思うので消しても良いし、ファンクションキー対応にしても良し。

注意点①

配布スクリプトをそのまま使用する場合はセーブデータと一緒に変更したキー設定が保存されるため、タイトル画面では有効になりません
タイトル画面を含めてキーコンフィグを有効にしたい場合は別でオプションデータなどを作成しオプションデータの中にキーコンフィグ情報を保存するか、タイトル画面からセーブデータを読み込むタイプにするなど要改造となります。

注意点②

このスクリプトを導入する際は
スクリプトエディタ内のInput判定「Input.trigger?(Input::C)」の「(Input::C)」にあたる部分を全て独自の対応ボタン名に置き換える必要があります

例としてふたつ挙げてみます

Input.trigger?(Input::C)
→ Input.trigger?($game_system.button["decision"])
Input.press?(Input::B)
→ Input.press?($game_system.button["cancel"])

配布スクリプトではキーコンフィグ設定を$game_systemと同じ場所(class Game_System)に入れているため、そのまま例として$game_system~という記述を使いました。

スクリプトエディタ上で全セクションの「Input::」を検索し、セクションごとに置き換えすると楽です。
エディタのセクション名を右クリックか「Ctrl+Shift+F」すると全セクション検索
エディタのスクリプト記述部を右クリックか「Ctrl+H」で選択セクション内の該当部分を置き換えできます。

category:

コメントを投稿