この文書では、ゲーム開発者向けに、"Peko" Visual Novel System のカスタマイズ方法について説明します。
"Peko" Visual Novel System:カスタマイズガイド
Table of Contents
- 1. カスタマイズの概要
- 2. ゲーム情報の設定
- 3. システム設定のカスタマイズ
- 4. メニューのカスタマイズ
- 5. ダイアログのカスタマイズ
- 5.1 セーブデータ選択ダイアログ
- 5.2 その他のダイアログ
- 6. キャンバスのカスタマイズ
- 6.1 キャンバス全体
- 6.2 TextCanvas
- 6.3 StageCanvas
- 6.4 SelectCanvas
- 7. タイトル画面のカスタマイズ
- 8. シーン固有のカスタマイズ
- A. リソースとは
- A.1 リソース ID
- A.2 XML ファイルへの記述
- B. データ形式
1. カスタマイズの概要
PVNS では、データディレクトリの位置や読み込むフォント・プラグインなどのシステム設定の他、キャンバスのサイズや文章の描画色など外観に関する設定など、多くのプログラム構成情報をリソースとして、プログラムコードの外に出しています。
リソースを編集することで、PVNS をゲーム開発者の意向に添うようにカスタマイズすることができます。
カスタマイズ可能な項目の種類は次の通りです。
- ゲーム情報
- システム設定
- メニューのキャプション文字列
- ダイアログのキャプション・メッセージ文字列
- キャンバスの外見
PVNS におけるリソースとは、ID によって識別される外部データであり、リソースファイル中に格納されているものを指します。
リソースの詳細については、後述の「A. リソースとは」を参照してください。
PVNS のリソースは項目の種類毎に用意されたリソースファイルに記述されます。以下にその対応を表として示します。
種別 | リソースファイル |
---|---|
ゲーム情報 |
game-info.xml
|
システム設定 |
system.xml
|
メニューのキャプション文字列 |
menu.xml
|
ダイアログのキャプション・メッセージ文字列 |
dialog.xml
|
キャンバスの外見 |
canvas.xml
|
タイトル画面の設定 |
title.xml
|
これらのリソースファイルは、PVNS runtime (peko.jar
) と同じディレクトリに、各ファイルばらばらに配置するか、あるいは、
config.dat
という名前の ZIP ファイルに纏めて配置します。
なお、config.dat
が PVNS runtime と同じディレクトリにある場合、PVNS は config.dat
に格納されたリソースファイルを優先的に使用します。
また、これらリソースファイルは全て必須です。PVNS の起動時にどれか一つでも検出できないリソースファイルがあった場合、PVNS は起動できません。
2. ゲーム情報の設定
ゲーム情報として、ゲームのタイトルやアイコンなどを設定できます。ゲーム情報はメインウィンドウのタイトルバーや、バージョン情報ダイアログなどに使用されます。
リソース名 | game-info.title |
---|---|
データ型 | string |
説明 | ゲームタイトルを設定します。設定した内容は、メインウィンドウのタイトルバーとバージョン情報ダイアログで表示されます。 |
リソース名 | game-info.version |
---|---|
データ型 | string |
説明 | ゲームのバージョン番号を設定します。設定した内容はバージョン情報ダイアログで表示されます。 |
リソース名 | game-info.publisher |
---|---|
データ型 | string |
説明 | ゲームの制作者名を設定します。設定した内容はバージョン情報ダイアログで表示されます。 |
リソース名 | game-info.copyright |
---|---|
データ型 | string |
説明 | ゲームの Copyright noticeを設定します。設定した内容はバージョン情報ダイアログで表示されます。 |
リソース名 | game-info.additional-info |
---|---|
データ型 | list/string |
説明 | ゲームに関する追加の情報 (制作者 URL やサポートメールアドレスなど) を設定します。設定した内容は、各項目 1 行ずつにバージョン情報ダイアログで表示されます。 |
3. システム設定のカスタマイズ
システム設定として、PVNS がゲームを実行するために必要な情報を設定します。必要な情報としては、言語情報、ディレクトリ設定、フォント設定などがあります。
リソース名 | peko.system.locale |
---|---|
データ型 | peko:locale |
説明 | 言語情報を設定します。設定した内容は、フォントやセーブ時刻に影響します。未設定の場合は、PVNS の起動に使用した Java VM の設定に従います。 |
リソース名 | peko.system.location.scenes |
---|---|
データ型 | string |
説明 | データ種別が scene であるデータを格納するディレクトリ/アーカイブ名を設定します。ディレクトリ/アーカイブ名は、ゲームパッケージがインストールされたディレクトリからの相対パスで記述します。設定したディレクトリ/アーカイブは実際に存在している必要があります。なお、パス中に上位ディレクトリへの移動を表す「.. 」を含めることはできません。 |
リソース名 | peko.system.location.images |
---|---|
データ型 | string |
説明 | データ種別が image であるデータを格納するディレクトリ/アーカイブ名を設定します。設定内容や制約については、peko.system.location.scenes に準じます。 |
リソース名 | peko.system.location.sounds |
---|---|
データ型 | string |
説明 | データ種別が sound であるデータを格納するディレクトリ/アーカイブ名を設定します。設定内容や制約については、peko.system.location.scenes に準じます。 |
リソース名 | peko.system.location.misc |
---|---|
データ型 | string |
説明 | データ種別が misc であるデータを格納するディレクトリ/アーカイブ名を設定します。設定内容や制約については、peko.system.location.scenes に準じます。 |
リソース名 | peko.system.location.save |
---|---|
データ型 | string |
説明 | セーブデータを格納するディレクトリ名を設定します。ディレクトリ名は、ゲームパッケージがインストールされたディレクトリからの相対パスで記述します。設定したディレクトリが実在しない場合、PVNS 起動時に生成されます。なお、パス中に上位ディレクトリへの移動を表す「.. 」を含めることはできません。 |
リソース名 | peko.system.start-scene |
---|---|
データ型 | string |
説明 | ゲーム開始時に、最初に処理するシーン名を設定します。 |
リソース名 | peko.system.fonts |
---|---|
データ型 | list/string |
説明 | 追加で読み込むフォントを指定します。利用可能なフォントファイルは True Type 形式で、misc ディレクトリに配置します。指定されたフォントが misc ディレクトリに存在しない場合、起動時に警告(WARN)ダイアログが表示されます。 |
4. メニューのカスタマイズ
メニューのキャプション文字列をカスタマイズすることができます。個々のメニュー項目には mnemonic が設定されており、キャプション文字列に含まれる mnemonic 文字には下線が引かれて描画されます。
リソース名 | peko.menu.system.menu-caption |
---|---|
データ型 | string |
説明 | 「システム」メニューのキャプション文字列を設定します。mnemonic は 'S' です。 |
リソース名 | peko.menu.system.save |
---|---|
データ型 | string |
説明 | 「システム」-「セーブ」メニューのキャプション文字列を設定します。mnemonic は 'S' です。 |
リソース名 | peko.menu.system.load |
---|---|
データ型 | string |
説明 | 「システム」-「ロード」メニューのキャプション文字列を設定します。mnemonic は 'O' です。 |
リソース名 | peko.menu.system.return-title |
---|---|
データ型 | string |
説明 | 「システム」-「タイトルに戻る」メニューのキャプション文字列を設定します。mnemonic は 'T' です。 |
リソース名 | peko.menu.system.read-again |
---|---|
データ型 | string |
説明 | 「システム」-「過去の文章」メニューのキャプション文字列を設定します。mnemonic は 'R' です。 |
リソース名 | peko.menu.system.exit |
---|---|
データ型 | string |
説明 | 「システム」-「終了」メニューのキャプション文字列を設定します。mnemonic は 'X' です。 |

図4.1:「システム」メニュー
リソース名 | peko.menu.config.menu-caption |
---|---|
データ型 | string |
説明 | 「設定」メニューのキャプション文字列を設定します。mnemonic は 'C' です。 |
リソース名 | peko.menu.config.play-mode.menu-caption |
---|---|
データ型 | string |
説明 | 「設定」-「プレイモード」メニューのキャプション文字列を設定します。mnemonic は 'P' です。 |
リソース名 | peko.menu.config.play-mode.normal |
---|---|
データ型 | string |
説明 | 「設定」-「プレイモード」-「ノーマル」メニューのキャプション文字列を設定します。mnemonic は 'N' です。 |
リソース名 | peko.menu.config.play-mode.auto |
---|---|
データ型 | string |
説明 | 「設定」-「プレイモード」-「自動」メニューのキャプション文字列を設定します。mnemonic は 'A' です。 |
リソース名 | peko.menu.config.play-mode.skip |
---|---|
データ型 | string |
説明 | 「設定」-「プレイモード」-「次の選択肢までスキップ」メニューのキャプション文字列を設定します。mnemonic は 'S' です。 |
リソース名 | peko.menu.config.use-effect |
---|---|
データ型 | string |
説明 | 「設定」-「画像エフェクト OFF」メニューのキャプション文字列を設定します。mnemonic は 'E' です。 |

図4.2:「設定」メニュー
リソース名 | peko.menu.help.menu-caption |
---|---|
データ型 | string |
説明 | 「ヘルプ」メニューのキャプション文字列を設定します。mnemonic は 'H' です。 |
リソース名 | peko.menu.help.help-contents |
---|---|
データ型 | string |
説明 | 「ヘルプ」-「ヘルプ」メニューのキャプション文字列を設定します。mnemonic は 'H' です。*現在のバージョンではヘルプ機能は未実装です。 |
リソース名 | peko.menu.help.version |
---|---|
データ型 | string |
説明 | 「ヘルプ」-「バージョン情報」メニューのキャプション文字列を設定します。mnemonic は 'A' です。 |
リソース名 | peko.menu.help.about-pvns |
---|---|
データ型 | string |
説明 | 「ヘルプ」-「PVNS について」メニューのキャプション文字列を設定します。mnemonic は 'P' です。 |

図4.3:「ヘルプ」メニュー
5. ダイアログのカスタマイズ
under construction...
5.1 セーブデータ選択ダイアログ
リソース名 | peko.savedata-chooser.cell.size |
---|---|
データ型 | peko:dimension |
説明 | セーブデータ情報を表示するセルのサイズを設定します。 |
リソース名 | peko.savedata-chooser.cell.title-format |
---|---|
データ型 | message-format |
説明 | セーブデータ情報のタイトルをセルに描画する際に使用するフォーマットを設定します。置換文字列は、{0}:セーブデータ番号 {1}:タイトル に置換されます。 |
リソース名 | peko.savedata-chooser.cell.timestamp-format |
---|---|
データ型 | date-format |
説明 | セーブデータ情報のタイムスタンプをセルに描画する際に使用するフォーマットを設定します。 |
リソース名 | peko.savedata-chooser.cell.no-data-title |
---|---|
データ型 | string |
説明 | セーブデータが保存されていないセルに描画するタイトルを設定します。 |
リソース名 | peko.savedata-chooser.cell.background.selected |
---|---|
データ型 | peko:color |
説明 | 選択されているセルの背景色を設定します。 |
リソース名 | peko.savedata-chooser.cell.background.unselected |
---|---|
データ型 | peko:color |
説明 | 選択されていないセルの背景色を設定します。 |
リソース名 | peko.savedata-chooser.cell.title.color |
---|---|
データ型 | peko:color |
説明 | セーブデータ情報のタイトルを描画する際に使用する前景色(文字色)を設定します。 |
リソース名 | peko.savedata-chooser.cell.title.font |
---|---|
データ型 | peko:font |
説明 | セーブデータ情報のタイトルを描画する際に使用するフォントを設定します。 |
リソース名 | peko.savedata-chooser.cell.timestamp.color |
---|---|
データ型 | peko:color |
説明 | セーブデータ情報のタイムスタンプを描画する際に使用する前景色(文字色)を設定します。 |
リソース名 | peko.savedata-chooser.cell.timestamp.font |
---|---|
データ型 | peko:font |
説明 | セーブデータ情報のタイムスタンプを描画する際に使用するフォントを設定します。 |
リソース名 | peko.savedata-chooser.cell.comment.color |
---|---|
データ型 | peko:color |
説明 | セーブデータ情報のコメントを描画する際に使用する前景色(文字色)を設定します。 |
リソース名 | peko.savedata-chooser.cell.comment.font |
---|---|
データ型 | peko:font |
説明 | セーブデータ情報のコメントを描画する際に使用するフォントを設定します。 |
リソース名 | peko.savedata-chooser.cell.items-at-once |
---|---|
データ型 | integer |
説明 | セーブデータ選択ダイアログを表示した際に、スクロールせずに一度に表示できるセル数を設定します。セーブデータ選択ダイアログでは、横スクロールバーは使用しませんので、この設定によりダイアログの高さが決定されます。 |
リソース名 | peko.savedata-chooser.cell.button.ok |
---|---|
データ型 | string |
説明 | 「OK」ボタンのラベル文字列を設定します。 |
リソース名 | peko.savedata-chooser.cell.button.cancel |
---|---|
データ型 | string |
説明 | 「キャンセル」ボタンのラベル文字列を設定します。 |
リソース名 | peko.savedata-chooser.caption.save |
---|---|
データ型 | string |
説明 | セーブ処理のためにセーブデータ選択ダイアログを表示した際に使用する、キャプション文字列を設定します。 |
リソース名 | peko.savedata-chooser.caption.load |
---|---|
データ型 | string |
説明 | ロード処理のためにセーブデータ選択ダイアログを表示した際に使用する、キャプション文字列を設定します。 |
リソース名 | peko.savedata-chooser.dialog.title.save |
---|---|
データ型 | string |
説明 | セーブ処理のためにセーブデータ選択ダイアログを表示した際に使用する、ダイアログタイトルを設定します。 |
リソース名 | peko.savedata-chooser.dialog.title.load |
---|---|
データ型 | string |
説明 | ロード処理のためにセーブデータ選択ダイアログを表示した際に使用する、ダイアログタイトルを設定します。 |
リソース名 | peko.savedata-chooser.dialog.confirm.title |
---|---|
データ型 | string |
説明 | セーブデータの上書き確認ダイアログのダイアログタイトルを設定します。 |
リソース名 | peko.savedata-chooser.dialog.confirm.message |
---|---|
データ型 | string |
説明 | セーブデータの上書き確認ダイアログのダイアログメッセージを設定します。 |
リソース名 | peko.savedata-chooser.dialog.notify.title |
---|---|
データ型 | string |
説明 | ロード可能データなし情報ダイアログのダイアログタイトルを設定します。 |
リソース名 | peko.savedata-chooser.dialog.notify.message |
---|---|
データ型 | string |
説明 | ロード可能データなし情報ダイアログのダイアログメッセージを設定します。 |
5.2 その他のダイアログ
under construction...
6. キャンバスのカスタマイズ
キャンバスの設定を行うリソースは、リソース ID が peko.canvas
で始まり、大きく次の 4 項目に分類されます。
6.1 キャンバス全体
リソース名 | peko.canvas.canvas-size |
---|---|
データ型 | peko:dimension |
説明 | キャンバスのサイズを指定します。PVNS はキャンバスサイズを基に StageCanvas や Main Window のサイズを決定します。 |
リソース名 | peko.canvas.text-history |
---|---|
データ型 | integer |
説明 | 「過去の文章」表示機能で見直すことができる最大のページ数。 |
6.2 TextCanvas
リソース名 | peko.canvas.text.view-type |
---|---|
データ型 | string |
説明 | ページ表示領域の表示タイプを設定します。リソースの値には、full または window のいずれかを指定して下さい。それ以外の値では、PVNS 実行時に警告としてメッセージが表示され、full が設定されます。 |
図6.1:ページ表示領域の表示タイプの例
リソース名 | peko.canvas.text.size |
---|---|
データ型 | peko:dimension |
説明 | ページ表示領域のサイズを設定します。ページ表示領域の表示タイプが full の場合、ここでの設定は無視されます。 |
リソース名 | peko.canvas.text.location |
---|---|
データ型 | peko:point |
説明 | キャンバス内での、ページ表示領域の左上隅の座標を設定します。キャンバス左上隅が座標の原点(0,0)になります。ページ表示領域の表示タイプが full の場合、ここでの設定は無視されます。 |
図6.2:ページ表示領域の各サイズ設定の例
リソース名 | peko.canvas.text.padding |
---|---|
データ型 | peko:insets |
説明 | ページ表示領域の枠と文章が表示されている領域の間のパディング幅を設定します。通常では、マーカーを配置するために、右パディングに一文字分のスペースを追加して下さい。 |
リソース名 | peko.canvas.text.line-span |
---|---|
データ型 | float |
説明 | 行と行の間の間隔(上の行の下端から下の行の上端)を設定します。 |
リソース名 | peko.canvas.text.background.transparency |
---|---|
データ型 | float |
説明 | ページ表示領域の背景の透過率(透明度)を 0.0 から 1.0 の間の実数で指定します。 |
リソース名 | peko.canvas.text.background.color |
---|---|
データ型 | peko:color |
説明 | ページ表示領域の背景色を設定します。 |
リソース名 | peko.canvas.text.foreground.color |
---|---|
データ型 | peko:color |
説明 | ページ表示領域の前景色(文字の色)を設定します。 |
リソース名 | peko.canvas.text.foreground.shadow |
---|---|
データ型 | float |
説明 | 文字の陰の部分の色を設定します。 |
図6.3:ページ表示領域の各種色設定の例
リソース名 | peko.canvas.text.font |
---|---|
データ型 | peko:font |
説明 | 文章の表示に使用するフォントを設定します。 |
6.3 StageCanvas
リソース名 | peko.canvas.stage.default-effect.background |
---|---|
データ型 | string |
説明 | 背景切り替え時に使用するデフォルトのエフェクト名を設定します。PSML-Scene の background 要素で effect 属性が省略された場合に使用されます。 |
リソース名 | peko.canvas.stage.default-effect.actor |
---|---|
データ型 | string |
説明 | 人物切り替え時に使用するデフォルトのエフェクト名を設定します。PSML-Scene の enter, action, exit 要素で effect 属性が省略された場合に使用されます。 |
リソース名 | peko.canvas.stage.default-effect.slide |
---|---|
データ型 | string |
説明 | スライド切り替え時に使用するデフォルトのエフェクト名を設定します。PSML-Scene の show-slide, hide-slide 要素で effect 属性が省略された場合に使用されます。 |
6.4 SelectCanvas
リソース名 | peko.canvas.select.align |
---|---|
データ型 | string |
説明 | 選択肢ボタンが配置される領域の水平方向の基準位置を設定します。リソースの値には、left 、center 、あるいは right のいずれかから指定して下さい。 |
![]() |
![]() |
![]() |
left | center | right |
---|
図6.4:水平方向の基準位置設定の例
リソース名 | peko.canvas.select.vertical-align |
---|---|
データ型 | string |
説明 | 選択肢ボタンが配置される領域の垂直方向の基準位置を設定します。リソースの値には、top 、middle 、あるいは bottom のいずれかから指定して下さい。 |
![]() |
![]() |
![]() |
top | middle | bottom |
---|
図6.5:垂直方向の基準位置設定の例
リソース名 | peko.canvas.select.columns |
---|---|
データ型 | integer |
説明 | 選択肢ボタンを並べる際の列数を設定します。 |
![]() |
![]() |
columns=1 | columns=2 |
---|
図6.6:列数設定の例
リソース名 | peko.canvas.select.span.column |
---|---|
データ型 | integer |
説明 | 選択肢ボタンの列間の間隔(左のボタンの右端から右のボタンの左端までの距離)を pixel 単位で設定します。 |
リソース名 | peko.canvas.select.span.row |
---|---|
データ型 | integer |
説明 | 選択肢ボタンの行間の間隔(上のボタンの下端から下のボタンの上端までの距離)を pixel 単位で設定します。 |

図6.7:選択肢ボタン間隔設定の例
リソース名 | peko.canvas.select.span.bound |
---|---|
データ型 | integer |
説明 | ボタンが配置される領域とキャンバスの枠との間の間隔を設定します。この設定は、ボタンを配置する基準位置によって適用される場所が変わります。 |
基準位置 | 適用される場所 |
---|---|
left
|
ボタン配置領域の左端とキャンバスの左枠との間 |
center
|
無視されます |
right
|
ボタン配置領域の右端とキャンバスの右枠との間 |
基準位置 | 適用される場所 |
---|---|
top
|
ボタン配置領域の上端とキャンバスの上枠との間 |
middle
|
無視されます |
bottom
|
ボタン配置領域の下端とキャンバスの下枠との間 |
リソース名 | peko.canvas.select.button.width |
---|---|
データ型 | integer |
説明 | 選択肢ボタンの幅を設定します。 |
リソース名 | peko.canvas.select.button.background.transparency |
---|---|
データ型 | float |
説明 | 選択肢ボタンの背景の透過率(透明度)を 0.0 から 1.0 の間の実数で指定します。 |
リソース名 | peko.canvas.select.button.foreground.selected |
---|---|
データ型 | peko:color |
説明 | 選択されている選択肢ボタンの前景色(文字の色)を設定します。 |
リソース名 | peko.canvas.select.button.foreground.unselected |
---|---|
データ型 | peko:color |
説明 | 選択されていない選択肢ボタンの前景色(文字の色)を設定します。 |
リソース名 | peko.canvas.select.button.foreground.shadow |
---|---|
データ型 | peko:color |
説明 | 選択肢ボタンのラベルの陰の部分の色を設定します。 |
図6.8:選択肢ボタンの各種色設定の例
リソース名 | peko.canvas.select.button.font |
---|---|
データ型 | peko:font |
説明 | 選択肢ボタンのラベルに使用するフォントを設定します。 |
7. タイトル画面のカスタマイズ
タイトル画面で設定できる内容は、SelectCanvas とほとんど同じです。実際、タイトル画面に表示されるタイトルメニューは、選択肢として描画されています。
タイトルメニューのスタイルを設定するリソースのリソース ID は、peko.canvas.select.*
の canvas.select
を title.style
に置き換えたもの(peko.title.style.*
) になります。
ここでは、タイトル画面固有のリソースについて説明します。タイトル画面固有のリソースとしては、タイトルメニューのラベルなどがあります。
リソース名 | peko.title.bgm |
---|---|
データ型 | string |
説明 | タイトル画面の BGM として再生する音楽クリップ名を設定します。 |
リソース名 | peko.title.image |
---|---|
データ型 | string |
説明 | タイトル画面背景として描画する画像名を設定します。 |
リソース名 | peko.title.caption.start |
---|---|
データ型 | string |
説明 | 「最初から始める」タイトルメニューボタンのラベルを設定します。 |
リソース名 | peko.title.caption.resume |
---|---|
データ型 | string |
説明 | 「続きから始める」タイトルメニューボタンのラベルを設定します。 |
リソース名 | peko.title.caption.exit |
---|---|
データ型 | string |
説明 | 「終了」タイトルメニューボタンのラベルを設定します。 |
8. シーン固有のカスタマイズ
PVNS の外観や動作は、シーン毎に設定されたのプロパティ情報によっても変更されます。シーン・プロパティの設定方法は、「PSML 1.0 Scene ショートリファレンス」の property 要素の解説を参照して下さい。
以下にシーン毎に設定可能なプロパティの概要を示します。
プロパティ名 | canvas.text.view-type |
---|---|
データ型 | string |
説明 | ページ表示領域の表示タイプを設定します。設定できる値の詳細は、peko.canvas.text.view-type の項目を参照して下さい。 |
プロパティ名 | canvas.text.size |
---|---|
データ型 | peko:dimension |
説明 | ページ表示領域のサイズを設定します。設定できる値の詳細は、peko.canvas.text.size の項目を参照して下さい。 |
プロパティ名 | canvas.text.location |
---|---|
データ型 | peko:point |
説明 | キャンバス内での、ページ表示領域の左上隅の座標を設定します。設定できる値の詳細は、peko.canvas.text.location の項目を参照して下さい。 |
プロパティ名 | canvas.text.padding |
---|---|
データ型 | peko:insets |
説明 | ページ表示領域の枠と文章が表示されている領域の間のパディング幅を設定します。設定できる値の詳細は、peko.canvas.text.padding の項目を参照して下さい。 |
プロパティ名 | canvas.text.line-span |
---|---|
データ型 | float |
説明 | 行と行の間の間隔(上の行の下端から下の行の上端)を設定します。設定できる値の詳細は、peko.canvas.text.line-span の項目を参照して下さい。 |
プロパティ名 | canvas.text.background.transparency |
---|---|
データ型 | float |
説明 | ページ表示領域の背景の透過率(透明度)を設定します。設定できる値の詳細は、peko.canvas.text.background.transparency の項目を参照して下さい。 |
プロパティ名 | canvas.text.background.color |
---|---|
データ型 | peko:color |
説明 | ページ表示領域の背景色を設定します。設定できる値の詳細は、peko.canvas.text.background.color の項目を参照して下さい。 |
プロパティ名 | canvas.text.foreground.color |
---|---|
データ型 | peko:color |
説明 | ページ表示領域の前景色(文字の色)を設定します。設定できる値の詳細は、peko.canvas.text.foreground.color の項目を参照して下さい。 |
プロパティ名 | canvas.text.foreground.shadow |
---|---|
データ型 | float |
説明 | 文字の陰の部分の色を設定します。設定できる値の詳細は、peko.canvas.text.foreground.shadow の項目を参照して下さい。 |
プロパティ名 | canvas.text.font.family |
---|---|
データ型 | string |
説明 | 文章の表示に使用するフォントのフォントファミリ名を設定します。このプロパティで設定されたフォントファミリ名で、リソースで指定されたフォントの設定を上書きします。フォントのファミリ名以外の項目(size, style, weight)はリソースの設定が使用されます。使用できる値については、peko:font データ型の説明を参照してください。 |
プロパティ名 | canvas.text.font.size |
---|---|
データ型 | float |
説明 | 文章の表示に使用するフォントのフォントサイズを設定します。このプロパティで設定されたフォントサイズで、リソースで指定されたフォントの設定を上書きします。フォントのサイズ以外の項目(family, style, weight)はリソースの設定が使用されます。使用できる値については、peko:font データ型の説明を参照してください。 |
プロパティ名 | canvas.text.font.style |
---|---|
データ型 | string |
説明 | 文章の表示に使用するフォントのフォントスタイルを設定します。このプロパティで設定されたフォントスタイルで、リソースで指定されたフォントの設定を上書きします。フォントのスタイル以外の項目(family, size, weight)はリソースの設定が使用されます。使用できる値については、peko:font データ型の説明を参照してください。 |
プロパティ名 | canvas.text.font.weight |
---|---|
データ型 | string |
説明 | 文章の表示に使用するフォントのウェイトを設定します。このプロパティで設定されたフォントウェイトで、リソースで指定されたフォントの設定を上書きします。フォントのウェイト以外の項目(family, size, style)はリソースの設定が使用されます。使用できる値については、peko:font データ型の説明を参照してください。 |
A. リソースとは
リソースとは、PVNS の設定情報や、アイコン、メニュー文字列などのデータです。PVNS ではリソースを特定の記述方式に従って XML ファイル中に記述します。このリソースを記述したファイルのことを、リソースファイルと呼びます
この章では、リソースファイルの記述方式について説明します。
A.1 リソース ID
リソースは ID によって識別されます。ID には階層構造があり、図A.1に示す形式で定義されます。
(親カテゴリ名).(子カテゴリ名).〜(略)〜.(リソース名)
図A.1:リソース ID の構造
カテゴリとカテゴリ(またはリソース名)の間は「.
」
(半角ピリオド: \u002E)
で区切ります。
例えば、シナリオ固有の設定として、キャンバスの、テキストキャンバスに関する設定で、テキストキャンバスの表示タイプを設定するリソースのリソース ID は peko.canvas.text.view-type
となります。
A.2 XML ファイルへの記述
リソースファイルでは、リソースは、XML namespaces URI http://tsukuba-bunko.org/ns/resource
で定義される resources 要素の内容として記述されます。resources タグには、リソースを表すタグと明確に区別するためにXML namespace prefix を使用することを推奨します。
リソースファイルの例を以下に示します。
<?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>
図A.2:リソースファイルの例(1)
リソースファイルにリソースを記述する場合、リソース ID を構成するカテゴリ名(またはリソース名)が、そのまま XML のタグ名になります。
例えば、peko.canvas.text.view-type
の場合、次のように記述されます。
<peko> <canvas> <text> <view-type>window</view-type> </text> </canvas> </peko>
図A.3:リソースファイルの例(2)
親カテゴリが同一であるリソースは、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>
図A.4:リソースファイルの例(3)
B. データ形式
リソースの値は単なる文字列データではなく、固有のデータの型(種別)を持っています。この章では、データ型毎の記述方式について説明します。
型名 | boolean |
---|---|
解説 | 論理値(真/偽)を表すデータ型です。値が true 、yes 、on の場合「真」に、それ以外の場合「偽」になります。大文字小文字は区別しません。 |
型名 | integer |
---|---|
解説 | 32bit の整数値を表すデータ型です。指定可能な範囲は -2147483648 〜 2147483647 です。途中に桁を示すカンマやピリオドを入れることは出来ません(エラーになります)。詳しくは The Java Language Specification の 3.10.1 Integer Literals を参照してください。 |
型名 | float |
---|---|
解説 | 32bit の浮動小数値を表すデータ型です。詳しくは The Java Language Specification の 3.10.2 Floating-Point Literals を参照してください。 |
型名 | string |
---|---|
解説 | 文字列を表すデータ型です。文字列を構成する文字としては、Unicode で定義されている文字であれば使用することが可能です。ただし、XML の区切り文字として指定されている文字については文字参照を使用することでエスケープする必要があります。 |
型名 | message-format |
---|---|
解説 | 文字列のテンプレートを表すデータ型です。置換したい箇所に「{n} 」という形式のトークンを埋め込むことでテンプレートを構築できます。詳しくは、Java API Specification の MessagFormat を参照してください。 |
型名 | date-format |
---|---|
解説 | 日時の表記法のテンプレートを表すデータ型です。詳しくは、Java API Specification の SimpleDateFormat を参照してください。 |
型名 | list/string |
---|---|
解説 | 文字列のリストを表すデータ型です。リストの各要素は、http://tsukuba-bunko.org/ns/resource 名前空間に定義された item 要素の値として記述します。図B.1に、list/string 型リソースの記述例を示します。<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> 図B.1:list/string データ型リソースの記述例 |
型名 | peko:dimension |
---|---|
解説 | 矩形のサイズを表すデータ型です。width(幅)と height(高さ)から構成され、それぞれの値をカンマで区切った一つの文字列として記述します。カンマや width、height の前後に空白(\u0020:半角スペース)が任意の数含まれてもかまいません。width と height は、それぞれ 0 以上の 32bit 整数値です。図B.2に、peko:dimesion 型リソースの記述例を示します。<res:resource xmlns:res="http://tsukuba-bunko.org/ns/resource"> <sample> <dimension>640, 480</dimension> </sample> </res:resource> 図B.2:peko:dimension の例 |
型名 | peko:point |
---|---|
解説 | 2 次元の座標を表すデータ型です。x 座標値と y 座標値から構成され、それぞれの値をカンマで区切った一つの文字列として記述します。カンマや x 座標値、y 座標値 の前後に空白(U+0020:半角スペース)が任意の数含まれてもかまいません。x 座標値 と y座標値 は、それぞれ 0 以上の 32bit 整数値です。例として、図B.3にpeko:point 型リソースの記述例を示します。<res:resource xmlns:res="http://tsukuba-bunko.org/ns/resource"> <sample> <point>0, 100</point> </sample> </res:resource> 図B.3:peko:point の例 |
型名 | peko:insets | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
解説 | ある矩形の境界線と、その矩形を囲む矩形の境界線との間の距離を表すデータ型です。矩形のパディング領域を指定するのに使用されます。top、right、bottom、left の4つの値で構成され、それぞれの値をカンマで区切った一つの文字列として記述します。カンマや top、right、bottom、left の前後に空白(U+0020:半角スペース)が任意の数含まれてもかまいません。top、right、bottom、left は、それぞれ 0 以上の 32bit 整数値です。図B.4に、peko:insets 型リソースの記述例を示します。<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> 図B.4:peko:insets の例 peko:insets 型のリソース値には、省略記法が使用できます。図B.4の例では、次のように解釈されます。
|
型名 | peko:color | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
解説 | 色を表すデータ型です。色の記述には、色名または RGB 指定の2種類の方法があります。図B.5に色指定の例を示します。<res:resource xmlns:res="http://tsukuba-bunko.org/ns/resource"> <sample> <color1>red</color1> <color2>#FFBBAA</color2> </sample> </res:resource> 図B.5:peko:color の例 peko:color 型リソースの値として使用可能な色名は次の 13 種類です。
|
型名 | peko:font | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
解説 | フォントを表すデータ型です。フォントは、family (フォントファミリ名)、size (サイズ)、style (スタイル)、weight (ウェイト) から構成されます。family, size, style, weight の各項目は XML 形式の場合、子要素の値として記述します。図B.6に、peko:font 型リソースの記述例を示します。<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> 図B.6:peko:font の例
italic または normal のいずれかを、weight には bold または normal のいずれかを指定します。どちらの項目でも、大文字小文字は区別され、前述の値以外が指定された場合はデフォルト値を使用します(エラーにはなりません)。family に使用できないフォントファミリ名を指定した場合、または、size に不正な値を記述した場合、PVNS の初期化時に警告が表示されます。 |