おしながき
このブログは主にエロアクションゲームの製作日誌ですので
18歳未満の方、エロに興味の無い方は閲覧をご遠慮ください。
日本語だけ japanese version only
18禁です adults only
18歳未満の方、エロに興味の無い方は閲覧をご遠慮ください。
日本語だけ japanese version only
18禁です adults only
String Parser 2を使う
イベント関係の処理にString Parser 2を組み込んでみたので使用感の報告など
内部処理が変わっただけで見た目は変わってないのでサンプルはなっしー
前回のサンプルで使っていた標準のテキストオブジェクトを使う場合

こんな感じでパラグラフという入れ物に入れて操作するわけですが
これを編集するのが結構大変
少ないうちはいいけど多くなったらもう順番入れ替えとかやってられんわーとなっちゃうわけで
ここでString Parser 2の登場
String Parser 2についてはMultimedia Fusion 2 wikiで解説されております。
String Parser 2
wikiの記述を参考にすれば問題なく使えると思うので改めて解説することもないのですが
自分のようにプログラムとかテキスト関係に詳しくないおっさんが多少理解に時間かかった辺りを
使用例を踏まえて書き残しておきます。
オブジェクトを配置してダブルクリックするとこの窓がでます。

・Source String
ここにテキストをドーンと丸ごとコピペします。
・String Comparisions
検索で大文字と小文字の区別するかどうか
・Search Mode
検索でワイルドーカードを使うかどうか
※ワイルドカード
*.htmとかgrp??.jpgみたいな『*』、『?』を使って任意な文字列を操作するやつです。
あーあれかと思い当たる、使ってたけど呼び方一致してなかった系
んでコピペしたテキストはこんな感じになってます。

丸ごとコピペすれば区切り記号で勝手に分割管理してくれます
h001はイベント時に検索するための目印記号です
w00m,f0100とかはウインドウを表示したり、フェイス絵を表示したりするコマンド系の記号です。
mes~が表示するメッセージです。
こんな感じでString Parser 2を使えばADVゲームのスクリプトみたいなことができるわけですね。
※コマンドに対しての処理は自分でイベントを組む必要があります。
で、どの辺手間取ったかと言うと
・区切り文字は自分で最初に設定する
List Tokenizing>Delimiters>Add delimiter
とかで本文中で使わないと確定してる記号を設定しないといけません。
wikiの解説に載ってる記号がデフォで設定されてると勘違いしちゃいけません
サンプルの場合区切り記号は『'』になります。
・ワイルドカード使う設定にしないとうまく検索してくれないような…
イベント判定に使うオブジェクトの可変文字列A(『h001*』)に設定して
listFind( "String Parser", 可変文字列 A( "オブジェクト" ), 1)と探すわけですが
ワイルドカード使う設定にしておかないとうまくできませんでした。
とりあえず今回必要な仕様を実装するのに使った機能はこのくらいです。
標準のテキストオブジェクトに比べるとテキストの管理がものすごく楽になります。
CSV形式のデータを扱ったりできるみたいなのでアイテムや敵のデータベースとして使ったり出来そうですね。
と書いてて今やってるのも大したデータ量ではないとはいえオブジェクトの変数を使ってるもんだから
後からぽこぽこ増やして見苦しい状態になってることに気がついたり…
いやしかしこれ以上作業をわき道にそらしたくないので考えなかったことにしよう
内部処理が変わっただけで見た目は変わってないのでサンプルはなっしー
前回のサンプルで使っていた標準のテキストオブジェクトを使う場合

こんな感じでパラグラフという入れ物に入れて操作するわけですが
これを編集するのが結構大変

少ないうちはいいけど多くなったらもう順番入れ替えとかやってられんわーとなっちゃうわけで
ここでString Parser 2の登場
String Parser 2についてはMultimedia Fusion 2 wikiで解説されております。

wikiの記述を参考にすれば問題なく使えると思うので改めて解説することもないのですが
自分のようにプログラムとかテキスト関係に詳しくないおっさんが多少理解に時間かかった辺りを
使用例を踏まえて書き残しておきます。
オブジェクトを配置してダブルクリックするとこの窓がでます。

・Source String
ここにテキストをドーンと丸ごとコピペします。
・String Comparisions
検索で大文字と小文字の区別するかどうか
・Search Mode
検索でワイルドーカードを使うかどうか
※ワイルドカード
*.htmとかgrp??.jpgみたいな『*』、『?』を使って任意な文字列を操作するやつです。
あーあれかと思い当たる、使ってたけど呼び方一致してなかった系
んでコピペしたテキストはこんな感じになってます。

丸ごとコピペすれば区切り記号で勝手に分割管理してくれます
h001はイベント時に検索するための目印記号です
w00m,f0100とかはウインドウを表示したり、フェイス絵を表示したりするコマンド系の記号です。
mes~が表示するメッセージです。
こんな感じでString Parser 2を使えばADVゲームのスクリプトみたいなことができるわけですね。
※コマンドに対しての処理は自分でイベントを組む必要があります。
で、どの辺手間取ったかと言うと
・区切り文字は自分で最初に設定する
List Tokenizing>Delimiters>Add delimiter
とかで本文中で使わないと確定してる記号を設定しないといけません。
wikiの解説に載ってる記号がデフォで設定されてると勘違いしちゃいけません

サンプルの場合区切り記号は『'』になります。
・ワイルドカード使う設定にしないとうまく検索してくれないような…
イベント判定に使うオブジェクトの可変文字列A(『h001*』)に設定して
listFind( "String Parser", 可変文字列 A( "オブジェクト" ), 1)と探すわけですが
ワイルドカード使う設定にしておかないとうまくできませんでした。
とりあえず今回必要な仕様を実装するのに使った機能はこのくらいです。
標準のテキストオブジェクトに比べるとテキストの管理がものすごく楽になります。
CSV形式のデータを扱ったりできるみたいなのでアイテムや敵のデータベースとして使ったり出来そうですね。
と書いてて今やってるのも大したデータ量ではないとはいえオブジェクトの変数を使ってるもんだから
後からぽこぽこ増やして見苦しい状態になってることに気がついたり…
いやしかしこれ以上作業をわき道にそらしたくないので考えなかったことにしよう

スポンサーサイト
この記事へのコメント
トラックバック
URL :