2006/10/17 01:46
KAGEX に、とりあえず YAML 対応のコードを入れました。 envinit.yaml があれば、envinit.tjs のかわりに読みます。
envinit.tjs では変数名で値を参照しているところがあるので、 そこは要調整。
2006/10/14 23:39
KAGEX の設定ファイルを YAML (参考: http://jp.rubyist.net/magazine/?0009-YAML ) で書けたらいいんじゃないかと考えてみたので、 TJS で YAML もどきパーサを書いてみました。
YAML の仕様全部を実装するのはかなり大変なので、 簡単な設定ファイルに使いそうな部分だけ実装してあります。
例えば、
%[ 'foo' => ['aaa', 'bbb'], 'bar' => ['ccc', 'ddd'] ]
というような式は YAML では
foo: - aaa - bbb bar: - ccc - ddd
と書けます。
あとは、ファイルから文字列を読みこむ部分なのですが…… プラグインか、もしくは吉里吉里本体に文字列のファイル読み込み 機能を持ってもらうのがよさそうです。
[].load で文字列をファイルから読み込めるようです。 普通の文字列読み込みに使えるとは知らなかった。
2006/10/08 23:43
dee さんの日記でも解説されていますが http://kikyou.info/diary/?200610#i4_3 、Subversion で取得します。
mkdir mygame cd mygame svn co https://sv.kikyou.info/svn/kirikiri2/trunk/kag3ex data
data/system ディレクトリにある Config.~new ファイルを Config.tjs に名前変更します。
data ディレクトリに作ります。
とりあえず、次の内容だけ書いておきます。
%[];
layerExImage.dll が必要です。
krkr.exe と同じディレクトリに plugin ディレクトリを作り、 そこに置きます。
ここまでのディレクトリ構成をまとめると、次のようになります。
mygame/
|-- krkr.exe
|
|-- data/
| |-- envinit.tjs
| |-- system/
| |-- scenario/
| `-- ...
`-- plugin/
`-- layerExImage.dll
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] [草原] テスト
さて、実行してみましょう。
ちゃんと背景が表示されたでしょうか。

2006/10/08 16:40
吉里吉里関連のフィードを作りました。
どうぞご利用ください。