この章では、PVNS が外観・動作を設定するために使用する「リソース」について説明します。
この章では、PVNS が外観・動作を設定するために使用する「リソース」について説明します。
リソースとは、PVNS の設定情報や、アイコン、メニュー文字列などのデータです。PVNS ではリソースを XML ファイル中に記述します。
PVNS では、リソースを格納したリソースファイルを 5 種類使用します。各リソースファイルの用途・説明については、「5. PVNS のカスタマイズ」を参照してください。
リソースは ID によって識別されます。ID には階層構造があり、次の形式で定義されます。
(親カテゴリ名).(子カテゴリ名).〜(略)〜.(リソース名)
カテゴリとカテゴリ(またはリソース名)の間は「.」(半角ピリオド: \u002E)で区切ります。
例えば、シナリオ固有の設定として、キャンバスの、テキストキャンバスに関する設定で、テキストキャンバスの表示タイプを設定するリソースのリソース ID は peko.canvas.text.view-type となります。
XML 形式のリソースファイルでは、リソースは、http://tsukuba-bunko.org/ns/resource ネームスペースで定義される resources 要素の内容として記述されます。resources タグには、リソースを表すタグと明確に区別するために通常 XML namespace prefix を使用します。
基本的な XML 形式のリソースファイルの例を以下に示します。
<?xml version="1.0" encoding="Shift_JIS"?>
<res:resource xmlns:res="http://tsukuba-bunko.org/ns/resource">
<scenario>
<title>テスト!</title>
<producer>つくば文庫</producer>
:
(その他のリソース)
:
</scenario>
</res:resource>
図A2.2.2.1: XML 形式のリソースファイルの例
XML 形式のリソースファイルにリソースを記述する場合、リソース ID を構成するカテゴリ名(またはリソース名)が、そのまま XML のタグ名になります。
例えば、peko.canvas.text.view-type の場合、次のように記述されます。
<peko>
<canvas>
<text>
<view-type>window</view-type>
</text>
</canvas>
</peko>
図A2.2.2.2: リソースの XML マッピングの例(1)
親カテゴリが同一であるリソースは、XML 上でも親カテゴリに対応する要素を共有することが出来ます。
例えば、scenario.canvas.text.view-type と scenario.canvas.canvas-size は、scenario.canvas. までを共有していますので、次のように記述することが出来ます。
<scenario>
<canvas>
<canvas-size>640,480</canvas-size>
<text>
<view-type>window</view-type>
</tet>
</canvas>
</scenario>
図A2.2.2.3: リソースの XML マッピングの例(2)
リソースの値は単なる文字列データではなく、固有のデータの型(種別)を持っています。PVNS で定義されているリソースとそのデータ型については「5. PVNS のカスタマイズ」を参照してください。
| 型名 | boolean |
|---|---|
| 解説 |
論理値(真/偽)を表すデータ型です。値が |
| 型名 | integer |
|---|---|
| 解説 |
32bit の整数値を表すデータ型です。指定可能な範囲は |
| 型名 | float |
|---|---|
| 解説 |
32bit の浮動小数値を表すデータ型です。詳しくは The Java Language Specification の 3.10.2 Floating-Point Literals を参照してください。 |
| 型名 | string |
|---|---|
| 解説 |
文字列を表すデータ型です。文字列を構成する文字としては、Unicode で定義されている文字であれば使用することが可能です。ただし、XML ファイル形式やプロパティファイル形式中に記述する場合は、特定の文字についてはエスケープする必要があります。 |
| 型名 | message-format |
|---|---|
| 解説 |
文字列のテンプレートを表すデータ型です。置換したい箇所に「 |
| 型名 | date-format |
|---|---|
| 解説 |
日時の表記法のテンプレートを表すデータ型です。詳しくは、Java API Specification の SimpleDateFormat を参照してください。 |
| 型名 | list/string |
|---|---|
| 解説 |
文字列のリストを表すデータ型です。XML 形式では、リストの各要素は、 <res:resource xmlns:res="http://tsukuba-bunko.org/ns/resource">
<sample>
<list>
<res:item>string1</res:item>
<res:item>string2</res:item>
<res:item>string3</res:item>
</list>
</sample>
</res:resource>
図A2.3.1: list/string の例 |
| 型名 | peko:dimension |
|---|---|
| 解説 |
矩形のサイズを表すデータ型です。width(幅)と height(高さ)から構成され、それぞれの値をカンマで区切った一つの文字列として記述します。カンマや width、height の前後に空白(\u0020:半角スペース)が任意の数含まれてもかまいません。width と height は、それぞれ 0 以上の 32bit 整数値です。次に、例として、 <res:resource xmlns:res="http://tsukuba-bunko.org/ns/resource">
<sample>
<dimension>640, 480</dimension>
</sample>
</res:resource>
図A2.3.2: peko:dimension の例 |
| 型名 | peko:point |
|---|---|
| 解説 |
2 次元の座標を表すデータ型です。x 座標値と y 座標値から構成され、それぞれの値をカンマで区切った一つの文字列として記述します。カンマや x 座標値、y 座標値 の前後に空白(\u0020:半角スペース)が任意の数含まれてもかまいません。x 座標値 と y座標値 は、それぞれ 0 以上の 32bit 整数値です。次に、例として、 <res:resource xmlns:res="http://tsukuba-bunko.org/ns/resource">
<sample>
<point>0, 100</point>
</sample>
</res:resource>
図A2.3.2: peko:point の例 |
| 型名 | peko:insets | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 解説 |
ある矩形の境界線と、その矩形を囲む矩形の境界線との間の距離を表すデータ型です。矩形のパディング領域を指定するのに使用されます。top、right、bottom、left の4つの値で構成され、それぞれの値をカンマで区切った一つの文字列として記述します。カンマや top、right、bottom、left の前後に空白(\u0020:半角スペース)が任意の数含まれてもかまいません。top、right、bottom、left は、それぞれ 0 以上の 32bit 整数値です。次に、 <res:resource xmlns:res="http://tsukuba-bunko.org/ns/resource">
<sample>
<insets1>0, 1, 2, 3</insets1>
<insets2>0, 1, 2</insets2>
<insets3>0, 1</insets3>
<insets4>0</insets4>
</sample>
</res:resource>
図A2.3.3: peko:insets の例 peko:insets型のリソース値には、省略記法が使用できます。上記の例では、次のように解釈されます。
|
| 型名 | peko:color | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 解説 |
色を表すデータ型です。色の記述には、色名または RGB 指定の2種類の方法があります。次に色指定の例を示します。 <res:resource xmlns:res="http://tsukuba-bunko.org/ns/resource">
<sample>
<color1>red</color1>
<color2>#FFBBAA</color2>
</sample>
</res:resource>
図A2.3.4: peko:color の例 使用可能な色名は次の 13 種類です。
RGB 指定では、「#」(\u0023) に続けて、R値、B値、G値を 2 桁の 16 進数で記述します。RGB の各値は 8 bit の符号なし整数で、0 〜 255 の範囲になります。例えば、R=8 G=255 B=127 の場合、「#08FF7F」と記述します。 |
| 型名 | peko:font | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 解説 |
フォントを表すデータ型です。フォントは、family (フォントファミリ名)、size (サイズ)、style (スタイル)、weight (ウェイト) から構成されます。family, size, style, weight の各項目は XML 形式の場合、子要素の値として記述します。次にフォント型のリソース <res:resource xmlns:res="http://tsukuba-bunko.org/ns/resource">
<sample>
<font>
<family>SansSerif</family>
<size>25</size>
<style>italic</style>
<weight>bold</style>
</font>
</sample>
</res:resource>
図A2.3.5: peko:font の例 family, size, style, weight の各項目は省略することができます。省略は任意の項目で行うことができ、4 項目のうち 2 項目を省略したり、あるいは全部省略したりすることもできます。次に、省略した場合に適用される各項目のデフォルト値を示します。
style には family に使用できないフォントファミリ名を指定した場合、または、size に不正な値を記述した場合、PVNS の初期化時に警告が表示されます。 |