# QAS 2.0 Layers.xml

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>`

## レイヤーに関する基礎事項

あるレイヤーが更新された場合、 そこから優先度の順に再描画されます。

但し、レイヤー設定において、 更新されたレイヤーより優先度の低いレイヤーから 再描画するように指定していた場合は、 指定されたレイヤーから優先度の順に再描画します。

また、全レイヤーを再描画する場合は、 画面全体を黒く塗り潰してから描画を始めます。 常に全レイヤーを再描画していると少し重くなるかも知れません。

描画の際には、全レイヤーの状態をチェックして 再描画すべき最も優先度の低いレイヤーを探します。 ゲームの速度を気にする場合には慎重に設定してください。

## 要素解説

### LayerList

最上位に記述し、この下に各レイヤーを列記します。

### Layer

レイヤーの実体です。 この下にレイヤーごとの設定内容を記述します。

### name

レイヤー名です。 シナリオファイルで画像を表示するレイヤーを指定する際に使用します。

### priority

レイヤーの優先度です。0 から 255 が使えます。

最も優先度の低いレイヤーが最初に描画され、 そのあと優先度順に描画されていきます。

優先度の同じレイヤーがどの順番で描画されるかは未定義です。

### x

レイヤーの左上の x 座標です。

基本的にこの座標より左側に画像を表示することはできません。

### y

レイヤーの左上の y 座標です。

基本的にこの座標より上に画像を表示することはできません。

### width

レイヤーの幅です。 x + width - 1 の合計値がレイヤーの右端になります。

基本的にレイヤーの右端より右に画像を表示することはできません。

### height

レイヤーの高さです。 y + height - 1 の合計値がレイヤーの下端になります。

基本的にレイヤーの下端より下に画像を表示することはできません。

### isUpdateLowerLayer

そのレイヤーが更新された場合に、 最も優先度の低いレイヤーから再描画する （全レイヤーを再描画する）かどうかを設定します。

true
  有効にします。
false
  無効にします。デフォルト設定です。

透過された画像を使用する場合、 このオプションを設定しないと更新前の画像が残ってしまいます。

#### isUpdateLowerLayer が false の場合

``

#### isUpdateLowerLayer が true の場合

``

### updateFromPriority

任意の優先度を指定します。

レイヤーが更新された場合に、 指定した優先度のレイヤーから再描画します。

### isClearUpperLayer

レイヤーが更新された場合に、 そのレイヤーより優先度の高いレイヤーをクリアするかどうかを設定します。

true
  有効にします。
false
  無効にします。デフォルト設定です。

背景レイヤーが更新された際に 自動的にキャラクター画像を消去したい場合などに使用します。

#### isClearUpperLayer が false の場合

``

#### isClearUpperLayer が true の場合

``