非公式 element 仕様書

はじめに

この仕様書で述べる仕様「element」は,2000年に「偽春菜」の名前で開発が始まり2007年現在「伺か」の名前で呼ばれるデスクトップマスコットのキャラクタの外観仕様「シェル」を拡張するための仕様である。

この仕様書は,伺か公式ページ内の旧仕様書,履歴,first のマスターシェル定義ファイルなどを元につくられた非公式仕様書であることに注意。

基本的なシェル定義に関しては非公式シェル仕様書を参照。

概要

element は,サーフィス定義のオーバーライドを行う。この仕様により複数の画像を合成してサーフィスを定義したり,独自のファイル名体系でシェルを管理したりすることが可能となる。

サーフィスは,通常,次のように id とファイル名の関係が定義されている。

surface[id] = surface[id].png (+ surface[id].pna)

この仕様は,シェルマスタに対するものであり,ユーザーの目に触れるものではない。(合計ファイルサイズや使用メモリサイズが小さくなるというメリットはある)

例えば,surface0 (素) とそのまばたきアニメーションで使用する目閉じ画像とで surface6 (目閉じ) を定義することが出来る。

elementエントリ

element?,(method),(filename),(offsetx),(offsety)

method パラメータ

method は描画メソッドを表す。ベースサーフィスとなる element0 のメソッドは無視される。element では以下のメソッドが使用できる。

overlay メソッド

オーバーレイにより重ね合わせを行う。指定サーフィスは element0 で指定したサーフィスの上に合成される。surface 左上原点の色が透過色として使用される。合成した結果現状の可視領域を突破した場合シルエットも変化する。

offsetx および offsety パラメータで合成する位置を設定する。省略不可。

合成する画像は,ベースサーフィスの (透過色を含むサイズの) 外へはみ出ないように指定する必要がある。

Materia ではベースサーフィスの範囲内のみが表示され,はみ出た部分は表示されない。CROW では外へはみ出る指定をした場合,合成できない。SSP は正常に表示できる。

offsetx および offsety パラメータで合成する位置を設定する。省略不可。

surface21
{
element0,overlay,surface0020.png,0,0
element1,overlay,surface0021_.png,114,64
}

上記のように記述することで surface21 を surface0020.png の上に surface0021_.png を重ね合わせた画像で定義できる。

replace メソッド

透明部分を含めて上書きする。

offsetx および offsety パラメータで合成する位置を設定する。省略不可。

SSP拡張。

filename パラメータ

filename はファイル名を指定する。 SERIKO のように ID で指定しない。

offsetx / offsety パラメータ

詳細は各メソッドの項目を参照。

ファイルネームエイリアス

surface0
{
element0,overlay,sakura_normal.png,0,0
}

上記のように element0 のみを指定することで surface0 を sakura_normal.png で定義できる。

surface0,surface10 に対しては element を用いない方が無難である。 Materia のゴースト / シェルエクスプローラなど,サムネイル表示を行うアプリケーションの多くは element を解析しません。そのため surface0,surface10 に対し element を用いていた場合,シェルマスタの意図する画像が表示されない。