Minecraft リソースパック UI解析 2日目
ツールの作成回
今回はプログラム・プログラムで使用するデータの作成が中心になります。前回の記事を見ていない方はそちらを先にご覧ください。
ファイルのパスのリストの作成
前回作成したMinecraft.pyをテキストエディタ、またはプログラム開発環境で開いて次のコードを実行してください。
作業フォルダにui_path_list.jsonというファイルが追加されているはずです。これはuiフォルダ内のファイルのパスのリストです。
※_ui_defs.jsonというファイルに同じようなデータがありますが、足りないデータ等があるためプログラムからファイルを作成してください。
検索ツールの作成
ここでは検索ツールを二種類作成します。
- 単語の位置検索ツール
- 開始タグと終了タグを用いたツール
- 結果をファイルに保存するツール(おまけ)
1は文字列のあったファイル・位置を列挙し、2はタグで囲まれた文字列を列挙するものとなってます。言葉だけでは理解しづらいですが、コードを読めば理解しやすいかもしれません。3はコマンドラインでは見づらい上、保存が面倒なのでファイル名を変えれば保存しておけるように作成します。
uiSearchPhrase関数は引数に検索する文字列を入力、返り値は {ファイル名:[行,...],...} という形の辞書型になっています。
uiSearchSandwich関数は引数に開始タグと終了タグ、返り値は {ファイル名:[[行,タグ内文字列],...],...} という形の辞書型になっています。
resultView関数は引数にパスと方法、文字列(または辞書)で、パスのファイルに結果などを書き込みます。方法は"clear"か"append"が入ります。
次回やること
今回思っていたより多くなってしまい、作成したツールをテストできていないので次回は先にテストをして、それから前回話した$や@、#の扱いについて調べていくつもりです。
※プログラムの文法については簡単なものしか用いていないので解説はしません。もしわかりづらいところがあればPythonのリファレンスを参照してください。