当サイトの運営者です。ゲーム制作とプラグイン開発が好きで、コミュニティに貢献したいと考えています。
RPGツクールMZでゲームを制作中です。
※プログラマ・エンジニアではありません。
Keke メニュー快適化 - Keke_MenuComfortable.js
シェア用テキスト:
▼Keke メニュー快適化(ケケー様作) - Keke_MenuComfortable.js
https://plugin-mz.fungamemake.com/archives/6726
メニューに様々な機能を追加し快適化にする。不要な機能は個別に無効化可能●スクロールバー●一覧モード●並べ替えドラッグ&ドロップ●キャラ切り替え拡張●シングルタッチで決定●ロングタッチセレクト●ダイレクトタッチ●スワイプキャンセル●スワイプスライド●タッチスター●シフトキーで装備解除
ふりがな:めにゅーかいてきか
機能概要: メニューに様々な機能を追加し快適化にする。不要な機能は個別に無効化可能●スクロールバー●一覧モード●並べ替えドラッグ&ドロップ●キャラ切り替え拡張●シングルタッチで決定●ロングタッチセレクト●ダイレクトタッチ●スワイプキャンセル●スワイプスライド●タッチスター●シフトキーで装備解除
利用規約(ライセンス): MITライセンス
作者:ケケー
作者サイト:https://kekeelabo.com/
解説ページ:https://kekeelabo.com/?i=46
ダウンロードページ:https://kekeelabo.com/plugin/Keke_MenuComfortable.js
ファイル名:Keke_MenuComfortable.js
プラグインのヘルプ:
/*:
* @target MZ
* @plugindesc メニューを快適化する
* @author ケケー
* @url https://kekeelabo.com
*
* @help
* 【ver.1.1.9】
* メニューに様々な機能を追加し快適化にする
* 不要な機能は個別に無効化可能
*
* ◆【機能一覧】
* 快適性アップの上で、特に効果の大きい機能は(★重要)マークを付けている
* (★条件付き重要)は特定の条件下では効果大ということ
*
* ■スクロールバー
*
* ●スクロールバー(★重要)
* 縦に長いウインドウの場合、現在のスクロール位置を示すバーを表示する
* 単に示すだけでなく、バーをタッチorマウスで直接掴んで動かすことができる
* 明け透けに言うとブラウザのスクロールバーと全く同じ仕様
* 慣れ親しんだものと同じであるがゆえにストレスなく使えると思う
*
*
* ■一覧モード
*
* ●一覧モード(★条件付き重要)
* メニューメイン画面のパーティステータスを、
* 「大人数を一覧できるウインドウ」に切り替えられる
* これを一覧モードと呼ぶ。一画面に表示できる人数は自由に調整可能
* 切り替えはキー操作の場合「シフトキー」
* タッチ操作の場合は「画面中央での左右スワイプ」で行う
* 実はこれは上に『スワイプスライド』と全く同じで、
* 「画面中央での左右スワイプ」操作をすると、
* スキル/装備/ステータス画面等では「キャラ切り替え」が、
* メニューメイン画面では「一覧モードとの切り替え」が行えるということ
* 仲間の数が少ない場合は必要ないかもしれないが、
* 多い場合はあるとないとでは全然違う便利な機能だ
*
*
* ■操作全般
*
* ●並べ替えドラッグ&ドロップ(★条件付き重要)
* 並べ替えを「決定で対象を掴み、移動させていく」方式にする
* (デフォルトは入れ替え方式(決定で対象を掴み、次に決定した対象と入れ替える))
* 仲間の数が少ない場合はさほど必要でないかもしれないが、
* 多い場合は格段に快適な並べ替えができるようになる
*
* ●キャラ切り替え拡張(★重要)
* スキル画面、装備画面、ステータス画面等で、
* 左右キー/マウスホイールでもキャラ切り替えをできるようにする
* (デフォルトはQWキーのみ)
*
*
* ■キー操作
*
* ●リスト縦ループ強化
* アイテムリストのような、
* 横に二列以上並んでるリストでも縦ループできるようにする
* (デフォルトは1列のリストのみループ)
*
* ●リスト横ループ強化
* アイテムリストのような、
* 縦に二行以上あるリストでも最初と最後がループするようにする
* (デフォルトは1行のリストのみ)
*
* ●リスト左右キーでジャンプ
* メニューメイン画面のパーティステータスのような
* 横1列で縦に長く伸びるリストの場合、
* 左右キーで一気にカーソル移動できるようにする
* (デフォルトはQWキーのみ)
*
* ※『キャラ切り替え拡張』と『リスト左右ジャンプ』の共通点は、
* QWキーの機能を左右キーにも割り当てるということである
* 左右キーの方が押しやすい以上そちらでもできるようにした方がいいので
*
*
* ■タッチ操作
*
* ●シングルタッチで決定(★重要)
* タッチ一回で決定できるようにする
* (デフォルトはタッチでカーソルを合わせ、
* 決定するにはさらにもう1回タッチする必要がある)
* この場合カーソルを合わせられない=ヘルプを表示できないのだが、
* その問題は次の『ロングタッチセレクト』で解消する
*
* ●ロングタッチセレクト(★重要)
* ロングタッチでカーソルを合わせる
* これは上の「シングルタッチで決定」の問題点を解消するためのもの
* 決定したい場合は「タッチしてすぐ放す」、
* カーソルを合わせたい場合は「ロングタッチ」することになる
*
* ●ダイレクトタッチ(★重要)
* 選択中でないウインドウもタッチできるようにする
* (デフォルトは選択中のウインドウのみタッチ可能)
* これは結構重要で、つまるところ、
* 「目に見える部分は全てタッチできる」ようにするということ
* 当たり前のように思えるが、デフォルトだと、
* 選択中でないウインドウは見えていてもタッチできないのである
* これは結構ストレスが溜まるので、それを解消するための機能
*
* ●スワイプキャンセル(★重要)
* 画面左右端での左右スワイプでキャンセルできるようにする
* スマホでブラウジングしている時、
* 画面左右端でスイッと指を動かして「戻る」を当然にやっていると思うのだが、
* つまりアレと同じようなもの
* やってみるとわかるがとても快適なキャンセルを実現する
* 基本的にはタッチ操作を想定しているが、実はマウスでもできる
* (マウスの場合は右クリックでキャンセルできるのであまり必要ないが)
* なおスワイプ方向は左右どちらでもよい
* 画面端でタッチする必要もなく、画面中央でタッチして、
* そのまま指を放さず画面端に持っていくという形でも普通に発動する
* ようは画面端で指を画面に付けたまま横に動かしさえすればよい
* また、スワイプ発動したら即座にキャンセルも発動するわけではない
* スワイプ発動状態で、そこから指を画面から離して初めてキャンセルされる
* 指を付けている間はキャンセルされないのである。
* 離したらキャンセルされるのだが、その前に指を縦に動かすことで
* キャンセルを取りやめることもできる
* 長々と説明しているが、直感的な操作だと思うので、
* やってれば自然にわかるとは思う
*
* ●スワイプスライド(★重要)
* 画面中央での左右スワイプでキャラ切り替えできるようにする
* 左スワイプで前のキャラに、右スワイプで次のキャラに切り替え
* タッチ操作でも快適にキャラ切り替えできるようにする重要な機能
* スワイプした後、すぐタッチすると連続でキャラ切り替えできる
* 何度もタッチするとどんどん切り替え。テンポよく切り替えていくことができる
*
* ●キャンセル省略
* ダイレクトタッチ適用時、一部の余分なキャンセルを省略する
* たとえばアイテムリストでキャンセルした時、普通はタブに戻るのだが、
* 一足飛びにメインメニューまで戻るようにする
* これはタブに戻る必要性が全くないからである
* ダイレクトタッチ環境下ではタブを選びたいなら直接タッチすればいいのであり、
* タブにカーソルを戻す必要は皆無
* むしろメインメニューに戻る際にタブを経由する分キャンセルが2回必要になり
* 余分でさえある。だから省略する
* なお省略するのはタッチ操作時のみであり、
* キー操作ではタブを飛ばされると困るので当然省略しない
* マウス操作でも省略しない。あくまで画面に直接タッチする操作時だけ
*
*
* ■タッチ演出
*
* ●タッチスター(★重要)
* スワイプ時に光のエフェクトを表示する
* スワイプすれば無条件に表示されるのではなく、
* 上の『スワイプキャンセル』『スワイプスライド』が発動している時のみ
* つまりタッチスターを見ることで、
* 「スワイプキャンセルorスワイプスライドが発動しているか」を確認できるのである
* ただ見た目が綺麗というだけでない重要な機能
*
*
* ■装備
*
* ●装備コマンド削除
* 「最強装備」「全て外す」があるウインドウを消す
* 正直これらの機能は必ずしも必要なものではなく、
* 存在することで操作が一手間増えて邪魔ですらあるので、
* 消去するという選択を用意している
*
* ●シフトキーで装備解除(★重要)
* シフトキーで装備解除できるようにする
* ワンボタンで装備解除できるようにする重要な機能
* 正直これがあれば「全て外す」のコマンドは必要ない気がする
* よほど装備スロットが多ければ別かもしれないが
*
*
* ■セーブ
*
* ●セーブフォーカス進めない
* デフォルトではニューゲームした場合、未使用のセーブスロットにフォーカスが合う
* 既存のセーブデータを上書きしないようにとの配慮であろうが、
* 正直邪魔な時があるので無効化するという選択を用意している
* 個人的にではあるが、ニューゲーム時とロード時でフォーカス位置が変わるのは、
* 操作ミスを起こしやすくてとても邪魔
* 「動作は条件に関わらずいつも同じ」が基本であると個人的には考えている
*
*
* ■コマンド記憶
*
* ●記憶タイミング
* 記憶タイミングを『選択時に記憶』にした場合、
* 「カーソルを合わせた」時にその位置を記憶するようにする
* (デフォルトは「決定した」時に記憶)
* つまりデフォルトより記憶のタイミングが早い
* 個人的にはこちらの方がしっくりくるのだが、好みによるかもしれない
*
*
* ●記憶クリア方式
* 記憶クリア方式を『メニュー閉じたらクリア』にした場合、
* メニューを閉じたタイミングで記憶を消去するようにする
* (デフォルトは消去しない。次にメニューを開いた時も記憶が残っている)
* 個人的にはこちらがしっくりくるが、やはり好みかもしれない
*
*
* ■戦闘メンバー強調
*
* ●控え半透明化を無効
* デフォルトでは戦闘メンバー以外の控えは半透明で表示されるが、
* これが何となく気に入らない場合は無効にできる
*
* ●バトラーマーク
* 控え半透明化を無効にした場合、
* 誰が戦闘メンバーなのかパッと見でわかりづらくなる
* なので代わりに戦闘メンバーの顔グラ部分にマークを表示してわかりやすくする機能
* マークといっても実際はテキストを表示するのだが、
* テキスト内容は自由に設定できる
*
*
* ■アイコンバック
* アイコンに背景を付けて見やすくする
* デフォルトのアイコンは元々背景が付いているので意味がないが、
* 背景がついてない裸のアイコンを使う場合に有効
* 背景の色や形は好きに設定できる
*
*
* ■競合対策シーン
* 競合対策するシーンを設定する
* 競合している場合に使ってみよう
* もしかしたら競合解消できるかもしれません
* ●使い方
* 競合対策シーンにたとえば Extra と入れると、
* Scene_Extra クラスに対して競合対策するようなる。
* Scene_ の部分は入力不要
*
*
* ◆【パーティー編成補助】
* プラグインコマンドでパーティ編成の助けとなる機能を用意している
*
* ●パーティのクリア
* パーティメンバーを全員外す
*
* ●パーティのセーブ
* 現在のパーティメンバーを保存する
* スロット別に保存できる
*
* ●パーティのロード
* セーブしたパーティメンバーを復元する
*
*
* ● 利用規約 ●
* MITライセンスのもと、自由に使ってくれて大丈夫です
*
*
* @param ■スクロールバー
*
* @param スクロールバー表示
* @parent ■スクロールバー
* @desc showScrollBar スクロールバーを表示する
* @type boolean
* @default true
*
* @param スクロールバーデザイン
* @parent ■スクロールバー
* @desc scrollBarDesign スクロールバーのデザイン設定
* @type struct<scrollBarDesign>
* @default {”太さ”:”10”,”タッチ範囲太さ”:”30”,”縁取り幅”:”1”,”バー本体-色タイプ”:”単色”,”バー本体色”:”255, 128, 0, 1”,”バー本体色-グラデ”:”255, 255, 255, 1”,”バー背景色”:”96, 96, 96, 1”,”丸み”:”5”}
*
* @param ■一覧モード
*
* @param 一覧モード有効
* @parent ■一覧モード
* @desc validWideLookMode パーティ一覧モードを有効にする。shift/画面中央を左右スワイプで切り替え
* @type boolean
* @default true
*
* @param 常に一覧モード
* @parent ■一覧モード
* @desc wideLookModeAlways 常に一覧モードにする
* @type boolean
* @default false
*
* @param 一覧ウインドウ設定
* @parent ■一覧モード
* @desc WideLookWindowCfg パーティ一覧ウインドウの設定
* @type struct<wideLookWindowCfg>
* @default {”横の表示数”:”4”,”縦の表示数”:”5”,”縦表示数の自動調整”:”true”,”…縦の最低数”:”2”,”全体サイズ率”:”1”,”小型化補正”:”0.95”,”顔グラ丸み”:”50”,”カーソル”:””,”カーソル表示”:”true”,”標準カーソル消去”:”true”,”カーソルサイズ+”:”8”,”カーソル丸み”:”50”,”カーソル色”:”0, 255, 255”,”カーソル色(並べ替え)”:”255, 255, 0”,”バトラー枠”:””,”バトラー枠-表示”:”false”,”バトラー枠-太さ”:”2.5”,”バトラー枠-色”:”255, 192, 0”,”名前表示”:””,”名前-表示”:”true”,”名前-配置”:”左上”,”名前-ずらしX”:”0”,”名前-ずらしY”:”0”,”名前-文字サイズ”:”18”,”名前-文字色”:”255, 255, 255”,”名前-縁取り幅”:”5”,”名前-隠す行数”:””,”職業表示”:””,”職業-表示”:”true”,”職業-配置”:”左上”,”職業-ずらしX”:”0”,”職業-ずらしY”:”20”,”職業-文字サイズ”:”18”,”職業-文字色”:”255, 255, 255”,”職業-縁取り幅”:”5”,”職業-隠す行数”:”3”,”ステータス表示”:””,”ステータス-表示”:”true”,”ステータス-配置”:”右下”,”ステータス-ずらしX”:”0”,”ステータス-ずらしY”:”0”,”ステータス-文字サイズ”:”18”,”ステータス-縁取り幅”:”5”,”ステータス-ゲージ高さ”:”10”,”ステータス-横幅”:”64”,”ステータス-行間”:”3”,”ステータス-隠す行数”:””,”レベル表示”:””,”レベル-表示”:”true”,”レベル-配置”:”左下”,”レベル-ずらしX”:”0”,”レベル-ずらしY”:”-5”,”レベル-文字サイズ”:”18”,”レベル-文字色”:”255, 255, 255”,”レベル-縁取り幅”:”5”,”レベル-ラベル幅”:”30”,”レベル-横幅”:”36”,”レベル-隠す行数”:””,”ステートアイコン”:””,”ステート-表示”:”true”,”ステート-配置”:”左下”,”ステート-ずらしX”:”0”,”ステート-ずらしY”:”32”,”ステート-隠す行数”:”3”}
*
* @param ■操作全般
*
* @param 並べ替えドラッグ&ドロップ
* @parent ■操作全般
* @desc pendingDrag&Drop メンバーの並べ替えをドラッグ&ドロップ方式にする
* @type boolean
* @default true
*
* @param キャラ切り替え拡張
* @parent ■操作全般
* @desc charaSlidePlus 左右キー/マウスホイール/でもキャラ切り替えをできるようにする(スキル/装備/ステータス画面)
* @type boolean
* @default true
*
* @param ■キー操作
*
* @param リスト縦ループ強化
* @parent ■キー操作
* @desc listVerticalLoop リストの縦ループを強化する
* @type boolean
* @default true
*
* @param リスト横ループ強化
* @parent ■キー操作
* @desc listHorizontalLoop リストの横ループを強化する
* @type boolean
* @default true
*
* @param リスト左右キーでジャンプ
* @parent ■キー操作
* @desc listJumpLeft/Right リストが横1列のとき左右キーで一気にカーソル移動できるようにする
* @type boolean
* @default true
*
* @param ■タッチ操作
*
* @param シングルタッチで決定
* @parent ■タッチ操作
* @desc singleTouchOk シングルタッチで決定できるようにする
* @type boolean
* @default true
*
* @param ロングタッチセレクト
* @parent ■タッチ操作
* @desc longTouchCancel ロングタッチでカーソルを合わせられるようにする
* @type boolean
* @default true
*
* @param ダイレクトタッチ
* @parent ■タッチ操作
* @desc directTouch アクティブでないウインドウもタッチできるようにする
* @type boolean
* @default true
*
* @param スワイプキャンセル
* @parent ■タッチ操作
* @desc swipeCancel 画面左右端での左右スワイプでキャンセルできるようにする
* @type boolean
* @default true
*
* @param スワイプスライド
* @parent ■タッチ操作
* @desc swipeSlide 画面中央でのスワイプでキャラ切り替えできるようにする
* @type boolean
* @default true
*
* @param キャンセル省略
* @parent ■タッチ操作
* @desc cancelOmit タッチ操作時、余分なキャンセルを省略する。アイテムリストでのキャンセルでメインに戻るなど
* @type boolean
* @default true
*
* @param タッチ設定
* @parent ■タッチ操作
* @desc swipeCfg タッチ操作の詳細設定
* @type struct<touchCfg>
* @default {”■ロングタッチ”:””,”ロングタッチ時間”:”15”,”■スワイプキャンセル”:””,”メニュー以外にも適用”:”true”,”キャンセルエリア幅”:”50”,”キャンセル遊び”:”10”,”■スワイプスライド”:””,”連続スライド時間”:”30”,”スライドエリア幅”:”100”,”スライド遊び”:”10”}
*
* @param ■タッチ演出
*
* @param タッチスター表示
* @parent ■タッチ演出
* @desc showTouchStar タッチスワイプ時に光のエフェクトを表示する
* @type boolean
* @default true
*
* @param タッチスターデザイン
* @parent ■タッチ演出
* @desc touchStarDesign タッチスターのデザイン設定
* @type struct<touchStarDesign>
* @default {”持続時間”:”30”,”消えていく時間”:”30”,”生成数”:”2”,”フォーム”:”スター(星形)”,”カラー”:”255, 255, 0”,”不透明度”:”192”,”不透明度-乱数”:”32”,”サイズ”:”20”,”サイズ-乱数”:”5”,”位置X”:”0”,”位置Y”:”0”,”移動X”:”0”,”移動X-乱数”:”0”,”移動Y”:”0”,”移動Y-乱数”:”0”,”スケールX”:”1.5”,”スケールX-乱数”:”0.5”,”スケールY”:”1.5”,”スケールY-乱数”:”0.5”,”拡大量”:”2”,”拡大量-乱数”:”0.5”}
*
* @param ■装備
*
* @param 装備コマンド削除
* @parent ■装備
* @desc delEquipCommand 装備コマンド(最強装備/全て外す)を消去する
* @type boolean
* @default true
*
* @param シフトキーで装備解除
* @parent ■装備
* @desc remEquipByShiftKey シフトキーで装備解除できるようにする
* @type boolean
* @default true
*
* @param ■セーブ
*
* @param セーブフォーカス進めない
* @parent ■セーブ
* @desc saveFocusNotNext ニューゲーム時のセーブフォーカスを未使用スロットにしない
* @type boolean
* @default true
*
* @param ■コマンド記憶
*
* @param 記憶タイミング
* @parent ■コマンド記憶
* @desc memoryTiming コマンド記憶をカーソル選択時に記憶るか、決定時に記憶するか
* @type select
* @option 選択時に記憶
* @option 決定時に記憶(デフォルト)
* @default 選択時に記憶
*
* @param 記憶クリア方式
* @parent ■コマンド記憶
* @desc memoryClearMethod コマンド記憶をメニューを閉じたらクリアするか、しないか、オプションと連動するか
* @type select
* @option メニュー閉じたらクリア
* @option クリアしない(デフォルト)
* @option オプションと連動
* @default メニュー閉じたらクリア
*
* @param ■戦闘メンバー強調
*
* @param 控え半透明化を無効
* @parent ■戦闘メンバー強調
* @desc noReseveTranslucent 控えメンバーの顔グラ半透明化を無効にする
* @type boolean
* @default true
*
* @param バトラーマーク表示
* @parent ■戦闘メンバー強調
* @desc battlerMark 戦闘参加メンバーにマークを付ける
* @type boolean
* @default true
*
* @param バトラーマーク設定
* @parent ■戦闘メンバー強調
* @desc battlerMarkCfg バトラーマークの設定
* @type struct<battlerMarkCfg>
* @default {”表示”:”true”,”配置”:”左下”,”ずらしX”:”0”,”ずらしY”:”0”,”テキスト”:”Battler”,”文字サイズ”:”14”,”文字色”:”255, 192, 0”,”縁取り幅”:”6”}
*
* @param ■アイコンバック
*
* @param アイコンバック表示
* @parent ■アイコンバック
* @desc showIconBack アイコンに背景を付けて強調する
* @type boolean
* @default true
*
* @param アイコンバックデザイン
* @parent ■アイコンバック
* @desc iconBackDesign アイコンバックのデザイン設定
* @type struct<iconBackDesign>
* @default {”バック色”:”255, 255, 255, 1”,”縁取り幅”:”1.5”,”縁取り色”:”0, 0, 0, 1”,”丸み”:”10”}
*
* @param ■競合対策
*
* @param 競合対策シーン
* @parent ■競合対策
* @desc toConflictScene 競合対策するシーンのリスト。Extra と入れると Scene_Extra に対して対策する。競合解消できるかも
* @type string[]
* @default [”AdditionalCC”]
*
*
*
*
* @command パーティのクリア
* @desc clearParty パーティメンバーを全員外す
*
*
* @command パーティのセーブ
* @desc saveParty 現在のパーティを保存する
*
* @arg セープスロット
* @desc saveSlot セーブするスロット
* @type select
* @option スロット1
* @option スロット2
* @option スロット3
* @option スロット4
* @option スロット5
* @default スロット1
*
*
*
* @command パーティのロード
* @desc restoreParty 保存したパーティを復元する
*
* @arg ロードスロット
* @desc loadSlop ロードするスロット
* @type select
* @option スロット1
* @option スロット2
* @option スロット3
* @option スロット4
* @option スロット5
* @default スロット1
*/