カテゴリ:吉里吉里/KAG( 7 )
マクロからジャンプ
[macro name="test"]
[jump *]
[endmacro]


 というマクロを試しに作って動かしてみたところ、ちゃんとジャンプしたし、ジャンプ後にmpを調べてみたらクリアされてるみたいなので、どうやらKAGではマクロ内からジャンプ可能のようです。
 NScripterでいうreturn *labelのようなことを内部的に自動でやってくれているのでしょうか。実にありがたいですが、できればそういうことをリファレンスに書いていてくれるともっとありがたかった。
[PR]
by lyricist_m | 2009-04-06 22:20 | 吉里吉里/KAG
マクロで失敗
 マクロを作ったところ、マクロ名が既存のタグ名と被っていたために、既存のタグを使おうと思ってもマクロが優先されてしまい、意図した通りに動作しない、ということがありました。
 マクロを作るときは、ちゃんと考えて名前をつけないといけませんね。いっそのことマクロは全て2バイト文字で名前をつけることにするとか。
[PR]
by lyricist_m | 2009-04-06 19:40 | 吉里吉里/KAG
最近実装したもの
・文字数によって速度が変わるオートモード
・マウスの左ボタン長押しでスキップ

 マウス押しっぱなしでスキップは実装するのが大変でした。最初は楽にいけるなと思ったんですけどね……。とりあえずタイマーを使って何とかしましたが、もしマウスでもWindow.onKeyDownのようにssRepeatが使えたら楽に実装できたろうになぁ。
 まぁ、おかげでクリックが処理される過程とクリック待ちの動作について理解することができました。せっかくだからそこらへんをまとめて記事にしましょうかね。
 あと、どうもタイマーを使った処理が腑に落ちないというか、使い方が微妙に間違っているくさいので、タイマー関連のスクリプトを書いて読んで勉強したいと思います。次に実装する予定の「マウスカーソルの自動消去」もタイマーが絡んでくるので。
[PR]
by lyricist_m | 2009-03-25 11:19 | 吉里吉里/KAG
kag.skipModeが表すもの
 0:スキップなし
 1:クリック待ち記号まで
 2:改ページ待ち記号まで
 3:次の停止まで
 4:早送り
[PR]
by lyricist_m | 2009-03-24 00:31 | 吉里吉里/KAG
起動時の流れ
 吉里吉里を起動してからの流れを簡単にまとめてみました。


  1. startup.tjsを読み込む

  2. Initialize.tjsを読み込む

  3. Config.tjsを読み込む

  4. オン・デマンド・ローディング用の定義を行なう

  5. systemフォルダ以下を読み込む

  6. もしOverride.tjs、Override2.tjsが存在すれば読み込む

  7. KAGWindowクラスのオブジェクトを生成

  8. もしAfterInit.tjs、AfterInit2.tjsが存在すれば読み込む

  9. first.ksを実行する



 Override2.tjsとAfterInit2.tjsの2つは実行ファイルと同じフォルダにある場合にのみ読み込まれるので注意。
[PR]
by lyricist_m | 2009-03-18 23:39 | 吉里吉里/KAG
自動栞保存
 昔は自動栞保存なる機能(要はオートセーブ)があったみたいなのですが、今はなくなってるので、試しにやってみました。

tf.ocl = kag.onConductorLabel;
kag.onConductorLabel = function (label, page)
{
if(page !== void)
{
kag.tagHandlers.save(%["place","0","ask","false"]);
}
return tf.ocl(...);
};

 これをAfterInit.tjsにでも書いておくと、セーブ可能なラベルを通過するごとに栞番号0番に栞が保存されます。とりあえず特定の番号に自動で保存したい場合はこんな感じでいいでしょう。オプションでON/OFFを変更できたり、栞番号を複数使って保存したりする場合は多少手を入れる必要があるでしょうが。
[PR]
by lyricist_m | 2009-02-16 08:17 | 吉里吉里/KAG
KAGでオートモード待ち時間可変
 ついでにKAGでも出来るかなーと調べてみたのですが、どうやらKAGには表示中の文字数を取得する方法がないらしい。絶望した!
 手っ取り早く目標を達成するならば、
・chタグを上書きして表示した文字数をカウント
・lタグ、pタグに到達したら待ち時間計算して待ち&文字数クリア
 ってところでしょうか。
 あと、吉里吉里だとサウンドの長さを取得できるので、
・playseタグを上書きしてボイスの長さを保存
・lタグ、pタグに到達したらボイスの長さを考慮して待ち時間計算&ボイスの長さクリア
 とすれば、ボイスの長さを考慮したオートモードが作れます。たぶん。てか、ボイスの長さならタグを上書きしなくてもマクロで何とかなりそうですね。

 あと、spearmintさんの「プラグインとか」にサンプルがあるみたいなので、それを使うか参考にするといいと思います。
[PR]
by lyricist_m | 2009-02-15 16:04 | 吉里吉里/KAG