5. PVNS のカスタマイズ

Contents

この章では、ゲーム開発者が PVNS の外見や動作をカスタマイズする方法について説明します。

5.1 カスタマイズの概要

PVNS では、データディレクトリの位置や読み込むフォント・プラグインなどのシステム設定の他、キャンバスのサイズや文章の描画色など外観に関する設定など、多くのプログラム構成情報をリソースとして、プログラムコードの外に出しています。

リソースを編集することで、PVNS をゲーム開発者の意向に添うようにカスタマイズすることができます。

カスタマイズ可能な項目の種類は次の通りです。

PVNS におけるリソースとは、ID によって識別される外部データであり、リソースファイル中に格納されているものを指します。

リソースの詳細については、「A2. リソースについて」を参照してください。

PVNS のリソースは項目の種類毎に用意されたリソースファイルに記述されます。以下にその対応を表として示します。

表5.1.1: リソースファイル一覧
種別 リソースファイル
ゲーム情報 game-info.xml
システム設定 system.xml
メニューのキャプション文字列 menu.xml
ダイアログのキャプション・メッセージ文字列 dialog.xml
キャンバスの外見 canvas.xml
タイトル画面の設定 title.xml

5.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 行ずつにバージョン情報ダイアログで表示されます。

5.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)ダイアログが表示されます。

5.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' です。

「システム」メニュー設定例

図5.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' です。

「設定」メニューのカスタマイズ

図5.4.2: 「設定」メニュー

リソース名 peko.menu.help.menu-caption
データ型 string
説明

「ヘルプ」メニューのキャプション文字列を設定します。mnemonic は 'H' です。

リソース名 peko.menu.help.help-contents
データ型 string
説明

「ヘルプ」-「ヘルプ」メニューのキャプション文字列を設定します。mnemonic は 'H' です。*β1 rel.05 では使用されていません。

リソース名 peko.menu.help.version
データ型 string
説明

「ヘルプ」-「バージョン情報」メニューのキャプション文字列を設定します。mnemonic は 'A' です。

リソース名 peko.menu.help.about-pvns
データ型 string
説明

「ヘルプ」-「PVNS について」メニューのキャプション文字列を設定します。mnemonic は 'P' です。

「ヘルプ」メニューのカスタマイズ

図5.4.3: 「ヘルプ」メニュー

5.5 ダイアログのカスタマイズ

under construction...

5.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.5.2 その他のダイアログ

under construction...

5.6 キャンバスのカスタマイズ

キャンバスの設定を行うリソースは、リソース ID が peko.canvas で始まり、大きく次の 4 項目に分類されます。

  1. 全体に共通のリソース
  2. TextCanvas のリソース
  3. StageCanvas のリソース
  4. SelectCanvas のリソース

5.6.1 キャンバス全体

リソース名 peko.canvas.canvas-size
データ型 peko:dimension
説明

キャンバスのサイズを指定します。PVNS はキャンバスサイズを基に StageCanvas や Main Window のサイズを決定します。

リソース名 peko.canvas.text-history
データ型 integer
説明

「過去の文章」表示機能で見直すことができる最大のページ数。

5.6.2 TextCanvas

リソース名 peko.canvas.text.view-type
データ型 string
説明

ページ表示領域の表示タイプを設定します。リソースの値には、full または window のいずれかを指定して下さい。それ以外の値では、PVNS 実行時に警告としてメッセージが表示され、full が設定されます。

図5.5.2.1: ページ表示領域の表示タイプの例

リソース名 peko.canvas.text.size
データ型 peko:dimension
説明

ページ表示領域のサイズを設定します。ページ表示領域の表示タイプが full の場合、ここでの設定は無視されます。

リソース名 peko.canvas.text.location
データ型 peko:point
説明

キャンバス内での、ページ表示領域の左上隅の座標を設定します。キャンバス左上隅が座標の原点(0,0)になります。ページ表示領域の表示タイプが full の場合、ここでの設定は無視されます。

図5.5.2.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
説明

文字の陰の部分の色を設定します。

図5.5.2.3: ページ表示領域の各種色設定の例

リソース名 peko.canvas.text.font
データ型 peko:font
説明

文章の表示に使用するフォントを設定します。

5.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 属性が省略された場合に使用されます。

5.6.4 SelectCanvas

リソース名 peko.canvas.select.align
データ型 string
説明

選択肢ボタンが配置される領域の水平方向の基準位置を設定します。リソースの値には、leftcenter、あるいは right のいずれかから指定して下さい。

leftの例 centerの例 rightの例
left center right

図5.5.4.1: 水平方向の基準位置設定の例

リソース名 peko.canvas.select.vertical-align
データ型 string
説明

選択肢ボタンが配置される領域の垂直方向の基準位置を設定します。リソースの値には、topmiddle、あるいは bottom のいずれかから指定して下さい。

topの例 middleの例 rightの例
top middle bottom

図5.5.4.2: 垂直方向の基準位置設定の例

リソース名 peko.canvas.select.columns
データ型 integer
説明

選択肢ボタンを並べる際の列数を設定します。

1列の例 2列の例
columns=1 columns=2

図5.5.4.3: 列数設定の例

リソース名 peko.canvas.select.span.column
データ型 integer
説明

選択肢ボタンの列間の間隔(左のボタンの右端から右のボタンの左端までの距離)を pixel 単位で設定します。

リソース名 peko.canvas.select.span.row
データ型 integer
説明

選択肢ボタンの行間の間隔(上のボタンの下端から下のボタンの上端までの距離)を pixel 単位で設定します。

選択肢ボタン間隔設定の例

図5.5.4.4: 選択肢ボタン間隔設定の例

リソース名 peko.canvas.select.span.bound
データ型 integer
説明

ボタンが配置される領域とキャンバスの枠との間の間隔を設定します。この設定は、ボタンを配置する基準位置によって適用される場所が変わります。

表5.5.4.1: 水平方向の基準位置ごとの適用場所
基準位置 適用される場所
left ボタン配置領域の左端とキャンバスの左枠との間
center 無視されます
right ボタン配置領域の右端とキャンバスの右枠との間
表5.5.4.2: 垂直方向の基準位置ごとの適用場所
基準位置 適用される場所
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
説明

選択肢ボタンのラベルの陰の部分の色を設定します。

図5.5.4.5: 選択肢ボタンの各種色設定の例

リソース名 peko.canvas.select.button.font
データ型 peko:font
説明

選択肢ボタンのラベルに使用するフォントを設定します。

5.7 タイトル画面

タイトル画面で設定できる内容は、SelectCanvas とほとんど同じです。実際、タイトル画面に表示されるタイトルメニューは、選択肢として描画されています。

タイトルメニューのスタイルを設定するリソースのリソース ID は、peko.canvas.select.*canvas.selecttitle.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
説明

「終了」タイトルメニューボタンのラベルを設定します。

5.8 シーン固有のカスタマイズ

PVNS の外観や動作は、シーン毎に設定されたのプロパティ情報によっても変更されます。シーン・プロパティの設定方法は、「A1. 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 データ型の説明を参照してください。