イメージリソースの利用

イメージリソースをFlash内に組み込むには、ツール「swfmill」用XMLファイルにリソースの記述をする必要があります。

<library> から </library> の中に以下の記述をします。

<clip id="識別名" import="イメージファイル" />

D2Fでは、イメージリソースの識別名は、「GlobalDef.h」で指定した _IMAGE_PREFIX に数値を続けたものになります。

例えば、「res」フォルダ下の「a.png」「b.png」「c.png」を組み込む場合、次のように記述します。(「GlobalDef.h」で _IMAGE_PREFIX には "IMAGE_" を指定しているものとします。)

<clip id="IMAGE_0" import="res/a.png" />
<clip id="IMAGE_1" import="res/b.png" />
<clip id="IMAGE_2" import="res/c.png" />

D2Fでは、イメージリソースはIDで参照されます。IDは、「GlobalDef.h」で指定した _IMAGE_PREFIX に続く数値になります。上記の例では、「a.png」に対応するIDは 0 に、「b.png」に対応するIDは 1 に、「c.png」に対応するIDは 2 になります。

ツール「image2xml」を使用したイメージリソースの組み込み

ツール「image2xml」を使用すると、組み込むイメージファイルの一覧を記述したテキストファイルから、イメージリソースIDが定義されたヘッダと、XML記述を作成することができます。


まず、組み込むイメージファイルの一覧を記述したテキストファイルを用意します。記述方法は、ファイルを改行で連ねるだけです。例えば、次のようになります。

res/a.png
res/b.png
res/c.png

なお、改行のみの行を含めることもできます。


ツール「image2xml」使用法:
image2xml <in_list_file> <top_str> <out_header_file> <out_xml_file>

in_list_file
組み込むイメージファイルの一覧を記述したテキストファイルを指定します。

top_str
組み込むイメージファイルの一覧を記述したテキストファイルを元にヘッダ定義を構築する際に、各行の先頭の省略する部分を指定します。例えば、テキストファイルに
res/enemy/a.png
と記述されていて、このパラメータに "res/" と指定した場合、ヘッダ定義では
IMAGE_ENEMY_A
となります。大文字に変換され、"/"は"_"に変換されます。"IMAGE_"は自動的に付加されます。

out_header_file
出力するヘッダファイル名を指定します。

out_xml_file
出力するXMLファイル名を指定します。


なお、本ツールを使用して出力されたXMLファイルの内容を、ツール「swfmill」用XMLファイルの <library> から </library> の中に別途組み込む必要があります。最も簡単な方法は、組み込む箇所の前と後ろとを別ファイルにしておき、「copy /B」を使用して連結する方法です。

組み込まれたイメージリソースを使用する

組み込まれたイメージリソースを使用するメソッド一覧です。

・_BitmapData クラスのコンストラクタ
・_Graphics クラスの drawImage()/drawScaledImage()/drawTransImage()

組み込むイメージファイルの形式について

組み込むイメージファイルの形式ですが、画像の縦横サイズが大きい場合、ツール「SWFTools」を使用してSWF形式に変換して使用するほうが、処理速度が上がることがあります。