memo

ゲーム制作やデザインについての個人的メモ

【ティラノスクリプト】画像のプリロードをする(&ファイル名一括取得の方法)

バッチファイル化してみました。

7yen.hateblo.jp

 

 

ティラノスクリプトには画像を事前に読み込ませて表示をスムーズにするためのタグがあります。詳細はリンク先(公式タグリファレンス)でご確認ください。

[preload] 画像ファイルの事前読み込み

f:id:onigirimgmg:20170411213250p:plain

例えばこのフォルダ内の画像をすべてまとめてプリロードしたい場合、以下のようなコードをfirst.ks等に書いておきます。

[iscript]
f.preload_images = [

"data/fgimage/chara/akane/angry.png",
"data/fgimage/chara/akane/doki.png",
"data/fgimage/chara/akane/happy.png",
"data/fgimage/chara/akane/normal.png",
"data/fgimage/chara/akane/sad.png",

];
[endscript]

[preload storage="&f.preload_images"]

普通はファイル名をコピペ等して入力していくと思うのですが、5個程度ならともかくこれが50個とか100個になるとコピペも大変ですよね。

そこで今回はコマンドプロンプトを使用して、フォルダ内のファイル名を一括取得してみたいと思います。コマンドプロンプトの基本的な使い方については各自でぐぐってください。

f:id:onigirimgmg:20170411214900p:plain

ティラノスクリプトのプロジェクトフォルダに移動しました。(ここでは「game」という名前のフォルダです。モザイク部分はユーザー名です)

次に以下のように入力します。コピペした方がやりやすいです。

dir *.jpg *.png /b /s > list.txt

だいたい「拡張子がjpg/pngのファイルのファイル名をサブフォルダも含めて取得して、list.txtというテキストファイルに出力する」という意味です。

入力が終わったらエンターを押してください。プロジェクトフォルダ内に「list.txt」がつくられます。これを開くと画像のような感じになっていると思います。

f:id:onigirimgmg:20170411221238p:plain

ファイル名の取得ができました。で、このままじゃ使えないのでちょっといじります。自分の場合はですが、こんな感じでやってます。(テキストエディタMeryを使用しています)

①¥マークを/(半角スラッシュ)に置換

②「C:/Users/〇〇/Desktop/game/」を「"」に置換

③「$」を「",」に置換(行末に「",」を追加)

みっつめのは正規表現を使って置換しています。こんな感じ。

f:id:onigirimgmg:20170411222125p:plain

上の作業を全部やるとこんな形になりました。これで最初に書いたコードにコピペできますね。

f:id:onigirimgmg:20170411222336p:plain

画像の変更や削除があった場合面倒なので、この作業は一番最後にやった方がいいと思います。もっと良い方法があれば教えてください!(切実)

参考:

システム関係 - ティラノスクリプト 製作テクニックwiki

フォルダ内のファイル名をメモ帳に保存 - Yahoo!知恵袋