INSTEAD @ wiki
19. テーマ
最終更新:
instead
-
view
19 sdl-instead用のテーマ
sdl-insteadなどのグラフィックインタプリタはテーマの機能を持っています。テーマは“theme.ini”ファイルのあるディレクトリにあります。
insteadにはすくなくとも“default”テーマが必要です。このテーマは常に最初のロード時に読み込まれます。ほかのテーマは“default”テーマを継承して、引数を部分的にあるいはすべてをオーバーライドします。ユーザーは設定メニューからテーマを選択できますが、ゲーム自体で自前のテーマを含むこともできます。ゲーム自前のテーマを使う場合はゲームのディレクトリに“theme.ini”ファイルが必要です。
ユーザーはゲームのテーマを変更できますが、作者の意図したデザインが変更されることになるのでインタプリタは警告を表示します。
“theme.ini”は非常にシンプルな文法で構成されています。
<引数> = <値> ; コメント
使用可能な値は文字列、色、数字です。色については#RGBの16進数表記になります。いくつかの色は名前を利用できます。たとえば“yellow”、“green”、“violet”などです。
使用可能な引数のリスト:
- scr.w = ゲーム表示エリアの幅ピクセル数
- scr.h = ゲーム表示エリアの高さピクセル数
- scr.col.bg = 背景色
- scr.gfx.bg = 背景画像のファイルパス(文字列)
- scr.gfx.cursor.x = マウスポインタの中央位置のX座標(数字)バージョン0.8.9以降
- scr.gfx.cursor.y = マウスポインタの中央位置のY座標(数字)バージョン0.8.9以降
- scr.gfx.cursor.normal = マウスポインタ画像ファイルパス(文字列)バージョン0.8.9以降
- scr.gfx.cursor.use = インベントリの“use”マウスポインタ画像のファイルパス(文字列)バージョン0.8.9以降
- scr.gfx.use = インベントリの“use”マウスポインタ画像のファイルパス(文字列)バージョン0.8.9未満
- scr.gfx.pad = スクロールバーとメニューの間隔(数字)
- scr.gfx.x, scr.gfx.y, scr.gfx.w, scr.gfx.h = シーンで表示される画像エリアの幅と高さの座標。レイアウトモードに依存(数字)
- win.gfx.h - scr.gfx.hと同じ機能(バージョン互換性のため)
- scr.gfx.mode = レイアウトモードの指定(値は“fixed”、“embedded”、“float”)。画像を表示するための設定。“embedded”にすると画像はメインウィンドウの一部になる。“scr.gfx.x”、“scr.gfx.y”、“scr.gfx.w”の値は無効になる。“float”が指定された場合は画像は指定された座標上(“scr.gfx.x”と“scr.gfx.y”)に表示され、大きい場合は“scr.gfx.w”と“scr.gfx.h”のサイズに縮小される。“fixed”が指定された場合は“embedded”と同じくメインウィンドウの一部として表示されるが、テキストの上部に固定表示され、スクロールはしない。
- win.x, win.y, win.w, win.h = メインウィンドウの幅と高さを表す座標。シーンの説明文が表示されるエリア(数字)
- win.fnt.name = フォントファイルのファイルパス(文字列)
- win.fnt.size = メインウィンドウのフォントサイズ(数字)
- win.fnt.height = 小数点数で指定する1行の高さ(デフォルト値1.0)
- win.gfx.up, win.gfx.down = メインウィンドウの縦スクロールバーの画像のファイルパス(文字列)
- win.up.x, win.up.y, win.down.x, win.down.y = スクロールバーの座標(位置または-1)
- win.col.fg = メインウィンドウのフォント色(16進か色名)
- win.col.link = メインウィンドウのリンク文字列の色(16進か色名)
- win.col.alink = メインウィンドウのアクティブなリンク文字列の色(16進か色名)
- inv.x, inv.y, inv.w, inv.h = インベントリの幅と高さの座標(数字)
- inv.mode = インベントリのモード指定(“horizontal”または“vertical”)。horizontalモードではいくつかのアイテムは同じ行に表示される。verticalモードでは1行につき1個のアイテムが表示される。
- inv.col.fg = インベントリの文字列の色(16進か色名)
- inv.col.link = インベントリのリンク文字列色(16進か色名)
- inv.col.alink = インベントリのアクティブリンク文字列色(16進か色名)
- inv.fnt.name = インベントリ用のフォントのファイルパス(文字列)
- inv.fnt.size = インベントリのフォントサイズ(数字)
- inv.fnt.height = 小数点数で指定するインベントリの1行の高さ(デフォルト値1.0)
- inv.gfx.up, inv.gfx.down = インベントリのスクロールバーの画像のファイルパス(文字列)
- inv.up.x, inv.up.y, inv.down.x, inv.down.y = インベントリのスクロールバーの座標(位置か-1)
- menu.col.bg = 設定メニューの背景色(16進か色名)
- menu.col.fg = 設定メニューの文字列色(16進か色名)
- menu.col.link = 設定メニューのリンク文字列色(16進か色名)
- menu.col.alink = 設定メニューのアクティブなリンク文字列色(16進か色名)
- menu.col.alpha = 設定メニューの透過色(0から255の数字)
- menu.col.border = 設定メニューの枠線の色(16進か色名)
- menu.bw = 設定メニューの枠線の幅(16進か色名)
- menu.fnt.name = 設定メニューのフォントファイルパス(文字列)
- menu.fnt.size = 設定メニューのフォントサイズ(数字)
- menu.fnt.height = 小数点数で指定する設定メニューの1行の高さ(デフォルト値1.0)
- menu.gfx.button = メニューアイコンのファイルパス(文字列)
- menu.button.x, menu.button.y = メニューアイコンボタンの座標(数字)
- snd.click = マウスクリック音のサウンドファイルパス(文字列)
- include = テーマ名の指定。ディレクトリパスの最後の部分(文字列)
テーマヘッダにはコメントタグが含まれます。現在のところ使えるタグは“$Name:”のみで、テーマ名に使える文字コードはUTF-8です。たとえば次のようになります:
; $Name:New theme$ ; Bookテーマをベースにした修正版 include = book scr.gfx.h = 500
インタプリタは“themes”ディレクトリからテーマファイルを検索します。UNIX版では“~/.instead/themes/”ディレクトリも検索します。バージョン0.8.7以降のWindows版では“Documents and Settings/ユーザー名/Local Settings/Application Data/instead/themes”を検索します。
露英訳: vopros@pochta.ru