こんばんは。
twitterは色んな意味で自分の方向性を変えたと思うぽりです。
1.ウディタ小ネタいろいろと
当ブログはウディタのミニテクニック集としての方向性を
目指していきますん
ということでさっき風呂の中で浮かんだミニテクニック
「ファイル名全文一致検索」。
「指定した名前のファイルが存在するか調べる」というのはゲームで必要な要素なのかと言われると、実際問題あんまり必要じゃありません。あってもマニアックなとき。
ですが、特殊なデータをテキストで出力してるときなど、RPG以外のジャンルでは必要になる時があったりします。
そんな「指定した名前のファイルが存在するか調べる」時によく使うのが、ウディタの文字列操作にある「↓フォルダのファイルリスト取得」機能。これでファイル一覧を取得して、
「指定したファイル名がこの中に存在しているか」をチェックすればOK、という感じ。
一番ポピュラーなやり方はこれでしょう。
■文字列操作:このコモンEvセルフ5 =<→のフォルダのファイルリスト取得> "Data/sample"
■条件分岐(文字): 【1】このコモンEvセルフ変数5 が"SampleFile.txt" を含む
◇分岐: 【1】 [ このコモンEvセルフ変数5 が"SampleFile.txt" を含む ]の場合↓
|▼ファイル発見
|■
◇上記以外
|▼ファイル見つからず
|■
◇分岐終了◇◇
■ |
ですがこれには弱点がありまして。これ
部分一致検索なんですよ。
簡単に言うと、上の例の場合「SampleFile.txt」というテキストを含む名前ならなんでもOKなので、「
AAASampleFile.txt」とか「
SampleFile.txt_」とかの名前のファイルでも探知してしまうこと。
それじゃあ、純粋に「SampleFile.txt」という名前のファイルがある時だけ探知する全文一致検索をするためにはどうすればいいんでしょうか。
簡単です。
アレをうまいこと利用すればいいんです。
■文字列操作:このコモンEvセルフ5 =<→のフォルダのファイルリスト取得> "Data/sample"
■文字列操作:このコモンEvセルフ5 = "\n\cself[5]\n"
■文字列操作:このコモンEvセルフ6 = "\nSanpleFile.txt\n"
▼↑「\n」は改行のことね 実際に「\n」と入力してはダメだZE
■条件分岐(文字): 【1】このコモンEvセルフ変数5 がこのコモンEvセルフ6 を含む
◇分岐: 【1】 [ このコモンEvセルフ変数5 がこのコモンEvセルフ6 を含む ]の場合↓
|▼ファイル発見
|■
◇上記以外
|▼ファイル見つからず
|■
◇分岐終了◇◇ |
簡単に解説。
ただ単にファイルリストは1つごとに改行されているのでそれを有効利用した、ってだけなんですが。
たとえばファイルリストを取得すると、見た目上↓のような感じで取得されます
Config.exe
Editor.exe
Game.dat
Game.exe
Music.mp3
NantokaKantoka.txt
SampleFile.txt
……
WWW.txt |
内部的には↓のような感じ。
Config.exe
\nEditor.exe
\nGame.dat
\nGame.exe
\nMusic.mp3
\nNantokaKantoka.txt
\nSampleFile.txt
\n……
\nWWW.txt
そう、1ファイルごとに改行「\n」で挟まれているのです。
そこで
「\n」まで含めて検索すれば、余分な文字の混入を許さない検索が可能になる、ってワケです。
MusicClickではすべてのファイルは一応全文一致検索はしてますがループを用いたゴリ押し方法。もっと早く気づいてたらなあ
(´・ω・`)
2.弾幕ごっこ
並列実行イベントはループ時に1フレームウエイトが自動的に入るなんておにいさん初めて知ったよ!
オリジナルのフレームスキップ機能(フレームスキップの値を高くしても当たり判定の精度が落ちにくい自作システム)試してて、「あぁ、さすがにフレームスキップx3ぐらいからゲームが成り立たなくなってくるかー」とか言ってたけど
そりゃあ当たり前だわ
実質フレームスキップx7状態だったのに気付かなかったぽりがヤバいだけです。はい。
ということでいろいろありましたがめげずに開発中「東方っぽいのベースシステム(仮称)」
とりあえずフレームスキップ処理が完成して一安心。
ちなみに、このシステムは最終的に2種類のパターンで公開しようと思います。
- 東方的なゲームを作るための機能を備えた「東方っぽいのベースシステム(仮称)」
- STGシステムを自作したい方のために当たり判定処理のみ抜粋した「HyperShootSystem(仮称)」
ってな感じ。とりあえず、ぽりの持ってる限りの知識をつっこんだので、自作派さんでも使って損はないシステムになるはずです。
公開……についてはいつにしましょうかねえ。ウディコンの頃でもいいですし、はたまたシルドラ2に合わせて公開して喧嘩を売る感じでも面白そうですし。(常識的に考えて負け戦なのできっとしないけど)
まぁ、今のところは「気が向いたら」ということにしといてください。
PR