# QAS 2.0 チュートリアル

まずは、練習のために最低限のことをやるだけの 簡単なチュートリアルを見てみましょう。

## 各種ディレクトリー

QAS は、ファイルを種類ごとに分割して管理しています。 分割された種類ごとに、ディレクトリーでまとめるようになっています。

どの種類のファイルをなんというディレクトリー名にするかは 既に決められています。 現在存在するディレクトリー名は以下の通りです。

ta
  シナリオファイルや設定ファイルなどのテキストファイル
ma
  MIDI や MP3 などの音楽ファイル
sa
  Wave などの効果音ファイル
ga
  様々なグラフィックファイル

以上のうち、ta は起動の際に必須となります。

## ディレクトリー作成

それでは各種ディレクトリーを作ります。 以下の作成手順で説明を進めていきましょう。

1. シナリオファイルから呼び出す画像ファイルや音楽ファイルなどを準備
2. 設定ファイルを作成
3. シナリオファイルを作成
4. 作成したそれぞれのファイルを元にディレクトリーを作成

これらの一つ一つを説明します。

### シナリオファイルから呼び出す各種ファイルを準備

めんどいので、配布パッケージに 一緒に封入されている datas.zip を展開してください。 中に適当な MIDI ファイルと音声ファイル、画像ファイルが入っています。

ディレクトリー ga を作り、 画像ファイル mountains.gif と dog.gif をまとめて放り込んでください。

同様に ma を作って中に improvise.mid を、sa を作って中に bowwow.wav 入れてください。

### 各種設定ファイルを作成

ta の中に入れるファイルです。 動作に最低限必要な設定ファイルは、 Layers.xml というレイヤー情報を記述するファイルです。

サンプルを以下に示します。

#### Layers.xml

`<?xml version="1.0"?>
<LayerList version="1.0">
<Layer>
<name>back</name>
<priority>1</priority>
<x>0</x>
<y>0</y>
<width>640</width>
<height>480</height>
</Layer>
<Layer>
<name>char</name>
<priority>2</priority>
<x>0</x>
<y>0</y>
<width>640</width>
<height>300</height>
</Layer>
</LayerList>`

内容はこのようになっています。 ゼロから作るのは面倒なので、 このサンプルを改造するのがいいでしょう。

name
  レイヤー名です。あとでシナリオファイル中に使用するため、わかりやすい名前がいいでしょう。
priority
  画面に表示する際の優先度です。 これが高いほど画面の上の方に表示されます。 優先度の低い画像は、優先度の高い画像に埋もれてしまいますので、 よく考えて設定してください。
x
  画面内にけるレイヤーの左上の x 座標です。 画面の一番左上が (0, 0) で、 x 座標は右方向に増加していきます。
y
  画面内にけるレイヤーの左上の y 座標です。 y 座標は下方向に増加していきます。
width
  レイヤーの幅です。この幅を超えて画像を表示させることはできません。 はみ出した場合は切れてしまいます。
height
  レイヤーの高さです。この高さを超えて画像を表示させることはできません。 はみ出した場合は切れてしまいます。

でき上がったら、Layers.xml というファイル名にして保存し、 ta というディレクトリーを作ってその中に入れてください。

### シナリオファイルを作成

シナリオファイルは、最初に start というファイルを読み込むことになっています。 テキストファイルには文字コードというものがあり、 QAS は文字コード「UTF-8」のみ使えるようになっています。 datas.zip の中に start のサンプルが入っていますので、 UTF-8 対応エディターでこのファイルを改変して使用してください。

QAS では以下のコマンド構文を用いて処理を行うようになっています。

``#コマンド 指定``

コマンドには以下のようなものがあります。

``#music maの中のファイル名``
  BGM を鳴らします。BGM は自動で無限ループします。
``#sound saの中のファイル名``
  効果音を一度鳴らします。

また、Layers.xml で作成したレイヤー名と ga の中にある画像のファイル名を元に、
``#レイヤー名 画像ファイル名``
と書くことで任意のレイヤーに画像をロードすることができます。

とりあえず、これまでに作ったファイルを指定してみましょう。

`#music improvise.mid
#sound bowwow.wav
#back mountains.gif
#char dog.gif`

これでコマンドは終わりですが、これでは画面に表示されません。 各種コマンドは、実行を伴うコマンドに到達するまで溜め込まれ、 それから一気に実行されます。

実行を伴うコマンドにはいくつかあります。 ひとまず、最もよく使われるであろう 文章表示コマンドを行ってみましょう。

文章表示コマンドはこれまでのコマンドとは違い、 @ （アットマーク）で初めて . （ピリオド）で終了します。 先ほどのコマンドに文章表示コマンドを追加しましょう。

`#music improvise.mid
#sound bowwow.wav
#back mountains.gif
#char dog.gif
@試しに文章表示.`

これで指定は終わりです。 このシナリオファイルを読み込むと、 「BGM として improvise.mid を再生し、 効果音として bowwow.wav を鳴らし、 back レイヤーに mountains.gif を読み込み、 char レイヤーに dog.gif を読み込み、 『試しに文章表示』と表示」 という処理が実行されます。 ちなみに、dog.gif は犬の周囲を透過しているため、 背景の山画像が後ろに見えます。

最後に、start を ta ディレクトリーに入れてください。

これでデータファイル作成は終わりです！ ga ta sa ma 全てを実行ファイルと 同じディレクトリに置いて QAS を起動してください。 山を背景に犬が表示され、 犬の鳴き声が聞こえ BGM が流れれば成功です。