ta の中に入れるレイヤー設定ファイル「Layers.xml」の記述方法を説明します。
Layers.xml は XML というファイル形式で書かれています。 正確に記述できるように、XML エディターなどを使うと良いでしょう。
以下にサンプルを示します。
<?xml version="1.0"?>
<LayerList version="1.0">
<Layer>
<name>frame</name>
<priority>1</priority>
<x>0</x>
<y>0</y>
<width>640</width>
<height>480</height>
</Layer>
<Layer>
<name>back</name>
<isClearUpperLayer>true</isClearUpperLayer>
<priority>3</priority>
<x>0</x>
<y>0</y>
<width>640</width>
<height>300</height>
</Layer>
<Layer>
<name>charl</name>
<updateFromPriority>2</updateFromPriority>
<priority>4</priority>
<x>0</x>
<y>0</y>
<width>320</width>
<height>300</height>
</Layer>
<Layer>
<name>charr</name>
<updateFromPriority>2</updateFromPriority>
<priority>4</priority>
<x>320</x>
<y>0</y>
<width>320</width>
<height>300</height>
</Layer>
<Layer>
<name>charc</name>
<isUpdateLowerLayer>true</isUpdateLowerLayer>
<priority>4</priority>
<x>0</x>
<y>0</y>
<width>640</width>
<height>480</height>
</Layer>
<Layer>
<name>face</name>
<priority>5</priority>
<x>16</x>
<y>316</y>
<width>130</width>
<height>150</height>
</Layer>
</LayerList>
あるレイヤーが更新された場合、 そこから優先度の順に再描画されます。
但し、レイヤー設定において、 更新されたレイヤーより優先度の低いレイヤーから 再描画するように指定していた場合は、 指定されたレイヤーから優先度の順に再描画します。
また、全レイヤーを再描画する場合は、 画面全体を黒く塗り潰してから描画を始めます。 常に全レイヤーを再描画していると少し重くなるかも知れません。
描画の際には、全レイヤーの状態をチェックして 再描画すべき最も優先度の低いレイヤーを探します。 ゲームの速度を気にする場合には慎重に設定してください。
最上位に記述し、この下に各レイヤーを列記します。
レイヤーの実体です。 この下にレイヤーごとの設定内容を記述します。
レイヤー名です。 シナリオファイルで画像を表示するレイヤーを指定する際に使用します。
レイヤーの優先度です。0 から 255 が使えます。
最も優先度の低いレイヤーが最初に描画され、 そのあと優先度順に描画されていきます。
優先度の同じレイヤーがどの順番で描画されるかは未定義です。
レイヤーの左上の x 座標です。
基本的にこの座標より左側に画像を表示することはできません。
レイヤーの左上の y 座標です。
基本的にこの座標より上に画像を表示することはできません。
レイヤーの幅です。 x + width - 1 の合計値がレイヤーの右端になります。
基本的にレイヤーの右端より右に画像を表示することはできません。
レイヤーの高さです。 y + height - 1 の合計値がレイヤーの下端になります。
基本的にレイヤーの下端より下に画像を表示することはできません。
そのレイヤーが更新された場合に、 最も優先度の低いレイヤーから再描画する (全レイヤーを再描画する)かどうかを設定します。
透過された画像を使用する場合、 このオプションを設定しないと更新前の画像が残ってしまいます。
任意の優先度を指定します。
レイヤーが更新された場合に、 指定した優先度のレイヤーから再描画します。
レイヤーが更新された場合に、 そのレイヤーより優先度の高いレイヤーをクリアするかどうかを設定します。
背景レイヤーが更新された際に 自動的にキャラクター画像を消去したい場合などに使用します。