カテゴリ:吉里吉里/TJS2( 7 )
辞書配列のセーブ・ロード
・セーブ
(Dictionary.saveStruct incontextof d)("test.txt");

・ロード
d = Scripts.evalStorage("test.txt");



 なんでDictionary.loadが無いんだろう。不思議。
[PR]
by lyricist_m | 2010-03-06 21:31 | 吉里吉里/TJS2
ウィンドウを常に手前に表示する
 ウィンドウを常に手前に表示したい(非アクティブになっても最前面に表示し続けたい)場合は、SystemクラスのstayOnTopプロパティをtrueにすればよい。
 Windowクラスにも同パロパティは存在するが、そちらは「吉里吉里が制御する複数のウィンドウの中で一番手前に表示する」という意味のようで、trueにしても他のアプリケーションがアクティブになった場合はそちらが手前に来てしまうので注意。
 ちなみにリファレンスにはSystem.stayOnTopについての記述がない。吉里吉里同梱のリファレンスとオフィシャルサイトで読めるリファレンスでは微妙に違う部分があったりもするし(版が違う?)、他にも何か抜けているものがあってもおかしくないかもしれない。暇があればソースをじっくり読んでみようと思う。
[PR]
by lyricist_m | 2009-11-05 02:55 | 吉里吉里/TJS2
式中辞書配列の書き方
●成功
tf = %["test","テスト"];
tf = %["test"=>"テスト"];
tf = %[test:"テスト"];

●失敗
tf = %[test,"テスト"]; //メンバ"test"が見つかりません
tf = %[test=>"テスト"]; //メンバ"test"が見つかりません
tf = %["test":"テスト"]; //文法エラー



 ,と=>は同じ動作をするが、:は少々異なっている。
 成功例の書き方は混在させても良いらしく、
tf = %[test1:"テスト1","test2"=>"テスト2","test3","テスト3"];
 なんて書き方でもOK。
 また、
tf = %["test1"=>"テスト1"=>"test2"=>"テスト2"];
 とも書けるけど、如何せん読みづらい。
 素直に
tf = %["test1"=>"テスト1","test2"=>"テスト2"];
 または
tf = %[test1:"テスト1",test2:"テスト2"];
 などと書いておいたほうがいい。
[PR]
by lyricist_m | 2009-02-08 14:14 | 吉里吉里/TJS2
セーブ可ラベルの自動生成(2)
 完成しました。まだ吉里吉里用のページを作っていないので直接落としてください。http://delusionist.nobody.jp/file/autolabelcreate.zipからダウンロードできます。

 便利にしようと思って作ったところ、ラベルの自動生成というよりはむしろ、単なる正規表現による置換用スクリプトに近くなっている気がします。まぁGUIになったし設定は保存してくれるし、多少使いやすくなったんではないかと。

 作ってて思ったんですが、やっぱりGUI周りって面倒ですね。特に座標指定とか。Javaみたいに自動調節してくれるとありがたいんですが。
[PR]
by lyricist_m | 2009-02-05 23:14 | 吉里吉里/TJS2
セーブ可ラベルの自動生成(1)
 OUTFOCUS Wiki - wifky! - 四方山話 - セーブ可能なラベルの自動生成を参考に、何個かプラグインを使って、TJSでセーブ可能なラベルの自動生成を行うスクリプトを製作中です。
 最終的には
・処理対象フォルダをダイアログで指定
・フォルダ内の全テキストファイルを自動的に処理、バックアップ
・その他、細かい設定もGUIで出来る
 という感じに仕上げる予定。
 とりあえず変換処理まではうまく行ったので、あとはGUI部分をKAGで作るだけ。ただ、まだ吉里吉里でゲームを作ってないので、セーブ・ロードのテストがすぐにはできないんですよね。テストが終わったら公開したいと思います。
[PR]
by lyricist_m | 2009-02-01 06:39 | 吉里吉里/TJS2
プラグインの重複登録
 wuvorbis.dllとかdirlist.dllとかを登録する際の話。
 登録にはPluginsクラスのlinkメソッドを使う。間違えて複数回登録しちゃった、なんて場合でも問題はないようだけど、メリットがあるわけでもない。なので「既に登録してないか確認してから登録する」ようにした。

if(Plugins.getList().find("lineParser.dll") == -1) Plugins.link("lineParser.dll");

 例えばプラグインを必要とするスクリプトが複数個所あっても、こう書いておけば読み込むのは1個だけ。インクルードガードみたいな感じですね。
[PR]
by lyricist_m | 2009-01-28 23:17 | 吉里吉里/TJS2
吉里吉里始めました。
 始めてどれくらいになるか忘れてしまったのですが、吉里吉里を弄ってます。
 一つのブログで複数の話題を扱うのがあまり好きではないので、そのうち吉里吉里専用ブログを立ち上げるかもしれませんが、当面はこっちで吉里吉里ネタの記事も書いていこうかと思います。
[PR]
by lyricist_m | 2009-01-28 19:36 | 吉里吉里/TJS2