ツクールMZで自作メニューを表示させたかった時のメモ
(↑の画像は自作メニューではないですが…)
経緯
最新作「ヤメタイン」では自作の戦闘とかを使っていたので、
メニューもデフォルトのものではなく自作のものを表示させようと思っていました。
こういう時、長らく愛用していたRPGツクール2000とかでは
①メニュー表示を禁止
②並列処理イベントでキャンセルキー入力を検知
③自動実行イベントを起動してその中でメニュー処理
みたいなやり方で、自作のメニューを表示させることができていました。
②
③
MZでも同じようにイベントを組めば
同様の動きが再現できるのかなーと思っていたのですが、
いざ組んで動かしてみると、上記②の処理が鬼門で、
他のイベント中に自作メニュー表示が割り込めてしまうといった感じでした。
他のイベントが実行中かとか、状態を管理してメニューを呼び出すようにすれば、、とも考えましたが、
「というかそもそも、メニューの代わりに別のイベントを呼び出すようなプラグインが既にあるのでは?」
と思い探してみたところ、ありました。。
「MenuCallCommon.js」を使う
【配布先】
かえる屋さんげーむず
https://charlsnonterm.wixsite.com/home
メニューの代わりにコモンイベントを呼び出す動きに変更するプラグインです。
ヘルプのところにも書いてある通り「自作メニューとか作成したい場合にすごく便利。」です。
使い方
「ComEvent」のところにメニューの代わりに呼び出したいコモにベントのIDを指定します。
私の場合は↑の画像の74番が自作メニュー用のイベントだったので、それを指定しています。
また、「ComSwitch」のところに指定した番号のスイッチがONになっている場合は、「ComEvent」ではなく「ComCloseEvent」で指定しているIDをのコモンイベントが呼び出されるようです。
(こちらは本作では使用していないのであまり詳しくはわかりません。。)
なお、
実際の「ヤメタイン」では
最終的にステータスとかを画面上に常時出すレイアウトにしたので、
自作メニュー自体は不要になりました。
ただし、ゲーム内でフラグとなるアイテムを入手するイベントを作った関係で、
デフォルトのアイテムメニューを開く必要がありました。
アイテムメニューを直で開くことはデフォルトではできないので、
「GABA_DirectMenu.js」というプラグインを使用しています。
【配布先】
STAR WRITE DREAM
https://star-write-dream.com/
実際にはこのような感じ↓
なので
・メニューの代わりにコモンイベントを呼び出す
・呼び出したコモンイベントからアイテムメニューを直で開く
ということをやっています。
「システム2」のメニューコマンド選択のところで
アイテムしかチェックしないようなやり方でもまあ良いのですが、
操作的に一手順増えるのでこう(↑)しています。
◆おわりに
ということで、
・短編作品などでデフォルトメニューを使うほどでもない時
・自作システムが豊富でメニューも自作で作らなければいけない時
など、自作メニューが必要な際に「MenuCallCommon.js」を使うと便利ですよ という旨の記事でした。
ここにたどり着くまでにやや苦戦したのでメモしておきます。