トップ «前の日記(2006-10-01) 最新 次の日記(2006-10-09)» 編集

吉里吉里日記


2006-10-08

画像データの指定の仕方

http://ruriko.denpa.org/200610a.html#0502

「画像ファイルそのままの絵」と「画像ファイルのデータを加工(組合せ等含む)した絵」を、指定の際に統一的に扱えるといいなぁと思いました。

例えば、storage="hoge-1" と指定した場合、今ではファイル hoge-1 を表示するわけですが、 これを

function buildImage(name) {
  // name に "hoge-1" がわたってくるので、この名前を元に画像を組み立てて表示
  // ...
}

みたいなメソッドをとおるようにする感じです。

設定の仕方は、例えば Rails のルーティング指定風に書いてみると……

設定ファイルでは

map.connect(/名雪-(.*)-(.*)/, nayuki_handler, ['dress', 'face']);
map.connect(/あゆ-(.*)-(.*)/, ayu_handler, ['dress', 'face']);
map.connect(/(.*)/, file_handler, ['filename']);

とかやっておいて

storage="名雪-制服-笑顔"

と指定すると

nayuki_handler(%['dress' => '制服', 'face' => '笑顔'])

が呼び出されるとか。

入門KAGEX

KAGEX の入手

dee さんの日記でも解説されていますが http://kikyou.info/diary/?200610#i4_3 、Subversion で取得します。

mkdir mygame
cd mygame
svn co https://sv.kikyou.info/svn/kirikiri2/trunk/kag3ex data

Config.tjs

data/system ディレクトリにある Config.~new ファイルを Config.tjs に名前変更します。

envinit.tjs

data ディレクトリに作ります。

とりあえず、次の内容だけ書いておきます。

%[];

プラグイン

layerExImage.dll が必要です。

krkr.exe と同じディレクトリに plugin ディレクトリを作り、 そこに置きます。

ディレクトリ構成

ここまでのディレクトリ構成をまとめると、次のようになります。

mygame/
  |-- krkr.exe
  |
  |-- data/
  |     |-- envinit.tjs
  |     |-- system/
  |     |-- scenario/
  |     `-- ...
  `-- plugin/
        `-- layerExImage.dll

first.ks

world 拡張を読み込むだけの first.ks を data/scenario ディレクトリに作ります。

@call storage="world.ks"

実行

ここまでできたら、一度実行してみましょう。

真っ黒の画面が出てくるはずです。

背景表示

さて、背景を表示してみましょう。

envinit.tjs を次のように書き換えます。

 %[
     "times" => %[
         "昼" => %[],
         ],
     
     "stages" => %[
         "草原" => %[
             "image" => "back000",
             ],
         ],
 
     "defaultTime" => "昼",
 ];

bgimage ディレクトリに、背景画像 back000.png を用意します。 (jpg ファイルなどでもかまいません)

次に、first.ks を次のように修正します。

 @call storage="world.ks"
 
 [linemode mode=page]
 [init]
 [草原]
 
 テスト

さて、実行してみましょう。

ちゃんと背景が表示されたでしょうか。

kagex.png

お名前:
E-mail:
コメント:
[]

2005|02|03|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|04|05|07|08|