Apricotスクリプト

Apricotでキャラクターを作るために使うスクリプトの仕様をまとめてみました。
キャラクターを作成する際の手助けとなれば幸いです。


Apricotのスクリプトは全てXMLで記述されています。このスクリプトで私用できるタグは、現在、10個あります。

  • script
  • character
  • sequence
  • message
  • motion
  • image
  • clear
  • wait
  • sound
  • call

scriptタグ

<script id="スクリプトID">
    ...(省略)...
</script>

ルートタグです。必ず必要なものです。
id属性:他のスクリプトと重複しない名前を設定します。

characterタグ

<script>
  <character name="はちゅねミク" x="0" y="0" width="480" height="320">
    ...(省略)...
  <character>
</script>

キャラクターを定義します。1個以上必要です。
親要素はscriptタグです。
キャラクターを複数表示させる場合は、キャラクター分のタグを用意することで表示することが出来ます。

name属性:キャラクターの名前を設定します。
x属性:キャラクターを表示するX座標上の位置を設定します。(省略可)
y属性:キャラクターを表示するX座標上の位置を設定します。(省略可)
width属性:キャラクターを表示するための横幅を設定します。
height属性:キャラクターを表示するための高さを設定します。

sequenceタグ

Apricot内でイベント発生すると該当するシークエンスが呼び出されます。
親要素はcharacterタグです。

name属性:シークエンスの名前です。
expr属性:exprの文字列にマッチしたときsequenceが実行されます。尚、exprが空だった場合は無条件で実行されます。正規表現が使えます。

name属性の値についてついては、Apricotのイベントの種類を参照して下さい。

messageタグ

バルーンに表示されるテキストを設定します。
親要素はsequenceタグです。
speed属性: メッセージスピードを設定します。(デフォルト値:30)
duration属性: バルーンの表示している時間を設定します。単位はミリ秒です。(デフォルト値:5000)

motionタグ

<script>
  <character name="はちゅねミク" x="0" y="0" width="480" height="320">
    <sequence name="Start">
      <motion fps="12" z-index="0">
        <image x="10" y="20">Images\Miku-Face-02.png</image>
        <wait duration="3000" />
        <image x="10" y="20">Images\Miku-Face-01.png</image>
      </motion>
    </sequence>
    ...(省略)...
  <character>
</script>

キャラクターの動きを定義します。motionタグには画像の並び順を設定します。
要するにパラパラ漫画のコマの集まりのことです。
imageタグとwaitタグを子に持ちます。親要素はsequenceタグです。
着せ替えを使用するには、type属性を設定して下さい。

type属性:着せ替えを使用する場合に、着せ替えのメニューに表示する名前を設定します。(省略可)
fps属性:FPS値を設定します。
z-index属性:レイヤーを設定します。0以上の整数値が入ります。
iterations属性:繰り返し回数を設定します。繰り返しを設定することにより、その回数分繰る返すことが出来ます。

<sequence name="Test">
  <motion fps="24" z-index="1" iterations="2">
    <image>Animation01.png</image>
    <image>Animation02.png</image>
  </motion>
</sequence>

上記のコードは、

<sequence name="Test">
  <motion fps="24" z-index="1">
    <image>Animation01.png</image>
    <image>Animation02.png</image>
    <image>Animation01.png</image>
    <image>Animation02.png</image>
  </motion>
</sequence>

と、同じ意味を持ちます。

imageタグ

画像ファイルのパスを設定します。親要素はmotionタグです。

画像ファイルPNG推奨です。また、画像ファイルは96dpiがデフォルトになっています。それ以外の場合は96dpiに変換されます。

waitタグ

waitタグは、直前のimageタグの状態を指定の時間(ミリ秒)保持します。時間(ミリ秒)は、duration属性に設定します。

callタグ

<script>
  <character name="はちゅねミク" x="0" y="0" width="480" height="320">
    <sequence name="Blink">
      ...(省略)...
    </sequence>
    <sequence name="Idle">
      <call name="Blink" />
    </sequence>
  <character>
</script>

指定されたsequenceタグを呼び出します。name属性:sequenceの名前を指定します。

例では、Idle状態の時に、name属性の値がBlinkのsequenceを呼び出します。