RPGツクールMV_イベントエディターの実行内容でコメントアウトする方法の検討
イベントエディターでイベント内容を作成中に「この動作をこうしたら、うまくいくのでは?」と色々検証する。
その中で、今の状態を取っておいたまま、他の設定も試したいことが多々ある。
大きな変更の場合は、イベントをまるごとコピーして、バックアップ用のマップに貼り付けておいたりするのだが、
ちょっとした変更を何度も試行錯誤したいときは、まるごとだと管理が面倒くさい。
イベントページでの複製でも、管理しにくい。
確認したい動作を複製してコメントアウトしておいて、別の処理に差し替えてみる、ということがしたい。
その方法について検討した時のメモ。
ラベルジャンプを使用する
今のところ一番堅実な方法っぽい。
対象となる部分の最初にラベルジャンプを設定して
終わりにジャンプ先を指定する。
いいところ
- 簡単に設定できる
- 追加の準備も不用
気になるところ
- 見た目的にどこの処理が飛んでいるのかわかりにくい
→注釈などを使用してなんとなくわかるようにできるか - ループの途中とかにも飛べてしまう
- コメントアウトの設置と解除に手数がかかりすぎて面倒
対象の処理が記載されているjsonを書き変える
これをテキストエディタでやるのは大変すぎるので、うまいことスクリプト化する必要があると思うが、
それ自体が結構大変な作業になりそう。
動作のイメージ自体はなんとなくできるが、作り込みに時間がかかりそう。
動作のイメージ
1. コメントアウトしたい内容をコピーしてクリップボードの情報を取得する
イベントエディタ上で、実行内容をコピーすると
クリップボードには下記のような情報がバイナリ形式で入る。
[{ "code": 108, "indent": 0, "parameters": ["",0,0,2] }, { "code": 108, "indent": 0, "parameters": ["2A=ON"] }, { "code": 356, "indent": 0, "parameters": ["SSC_MESF 99 100 AD ON B ON"] }, { "code": 108, "indent": 0, "parameters": ["2A=ON"] }]
この情報は、
data/Map004.json
といった通し番号付きのマップ情報の中に記載されているもの。
"code": 数字
で指定されている部分がイベントエディター上でどの命令になっているか対応している。
注釈なら "code": 108
参考
RPGツクールMV - JGSS ver1.5.1 から ver1.5.2 への更新メモ
https://qiita.com/yamachan360/items/117df542ce0fd9ae723e
メッセージ組み込み開発支援プラグイン(Text2Frame-MV)
https://raw.githubusercontent.com/yktsr/Text2Frame-MV/master/Text2Frame.js
https://github.com/yktsr/Text2Frame-MV
コメントアウトしたい部分の code を注釈の 108 に差し替えれば
対象の内容を注釈に変更することができる。
2. 対象箇所のコードを注釈108に差し替える
[{ "code": 108, "indent": 0, "parameters": ["",0,0,2,101] }, { "code": 108, "indent": 0, "parameters": ["イベント2のセルフスイッチA=ON",401] // バラメーターの末尾に元のコードを入れておく }, { "code": 108, "indent": 0, "parameters": ["SSC_MESF 99 100 AD ON B ON",356] }, { "code": 101, "indent": 0, "parameters": ["",0,0,2] }, { "code": 401, "indent": 0, "parameters": ["イベント2のセルフスイッチB=ON"] }, { "code": 356, "indent": 0, "parameters": ["SSC_MESF 99 100 B ON"] }, { "code": 0, "indent": 0, "parameters": [] }]
3. ゲームプロジェクトを開き直す
jsonを直接書き変えた場合、反映させるためにプロジェクトを開く直す必要があった。
(別でロード方法があるかもしれないが未確認)
いいところ
- 見た目が注釈になるので、コメントアウトされているところが見やすい
- ホットキーなどでこの動作が設定されていれば、注釈と元の処理が入れ替えるのが簡単になる
気になるところ
- 処理作るのが手間
- 毎回プロジェクトを読み直さなきゃいけないのがやだ
- 直接jsonをいじるので、壊したりしてしまいそう。動かなくなったら困る。
まとめ
何かもっと他に良い方法ないかなぁ。