Section 4.1 KAGPlugin クラス

今回から第4章ってことで、いよいよ TJS を使って作ったクラスを KAG スクリプトの中に組み込んでいくよ。
やっと KAG が使えるところまで来れたね〜。
まぁ、確かにここまで長かったからね。
でも、ここまででやってきたことを使えば KAG 用のプラグインとかが作れるんだよね?
うん。
というワケで、第4章は KAG 用のプラグインの作り方について見ていくね。
あ、そうなんだ。
じゃあ、まずは KAG 用のプロジェクトフォルダを作るところから始めよっか。
そういえば、今まで template フォルダの中身って全然使わなかったよね。
うん。今回からは必要になるから、kag3 フォルダの中にある template フォルダをコピーしてね。
は〜い!

<プロジェクトフォルダの構成>

プロジェクトフォルダの構成

こんな感じでいいんだよね?
ん、これで OK。
あと、system フォルダの Config.~new を Config.tjs に名前変更しといてね。
りょーかい!
Config.tjs の中身って書き換えなくてもいいの?
とりあえずメッセージレイヤは使わないから、initialMessageLayerVisiblefalse にしといて。
わかった。

<初期状態でメッセージレイヤを非表示にします(Config.tjs より抜粋)>

// ◆ 初期状態でメッセージレイヤを表示するかどうか
// true を指定するとメッセージレイヤ0が初期状態で表示状態になりますが、
// false を指定すると初期状態ではすべてのメッセージレイヤは初期状態で非表示
// になります。
;initialMessageLayerVisible = false;

これでいいんだよね?
ん、OK。
それじゃ、第4章の目標なんだけど…
うん、何を作るの?
最初は簡単なプラグインからってことで、日付を表示するプラグインを作ろうと思うんだ。
こういう感じのね。

<日付表示プラグインの使用例>

日付表示プラグインの使用例

左上に表示されてる『12/31』っていうのを表示するプラグインを作るってこと?
そ。まぁこれくらいだったら前景レイヤを使ってもいいんだけど、 今回はとりあえずプラグインのメソッドの書き方とかを理解するのが目的だから、シンプルな内容にしようかと思って。
ふ〜ん。
日付を表示するってことは、また Date クラスとか使うの?
ううん。今回はゲームの中での日付を表示するのに使うことを想定してるから、 Date クラスは使わないよ。
あ、そうなんだ。
そのかわり、日付を設定するためのマクロを作って、KAG のシナリオの中で日付を設定できるようにするの。
マクロも作るの?
KAG プラグインは TJS で書かれてるわけだから、使う時も TJS スクリプトを書かなきゃいけないでしょ。
うん。
でも、それだと TJS スクリプトの書き方を知らないと使えなくなっちゃうから、 KAG プラグインを作るときはマクロも一緒に作って、TJS スクリプトを書かなくてもプラグインの機能を使えるようにするんだ。
あ、なるほどね。
確かにそうすればプラグインが簡単に使えるようになるもんね。
ん。あと、今回は日付を表示するようにしてるけど、ちょっと応用すれば日付以外にも、例えば所持金とか色んなパラメータを表示したりするのにも使えるよ。
へ〜、そうなんだ。
それじゃ、KAG プラグインを使う時に使うクラス、KAGPlugin クラスについてちょっと説明しとくね。
KAGPlugin クラス?
KAGPlugin クラスは system フォルダの中にある Plugin.tjs の中で定義されてる KAG プラグイン用のクラスだよ。
ほんとだ。Plugin.tjs の中に KAGPlugin クラスの定義が書いてあるね。
…でも、メンバ変数もないし、どのメソッドにもコメントしか書かれてないよ?
うん。KAGPlugin クラス自体は何も機能を持たないクラスなんだ。
だから KAGPlugin クラスを継承して KAG プラグイン用のクラスを作るの。
ふぅん…あ、この onStore とか onRestore っていうメソッドって、もしかしてイベントハンドラ?
ん、そうだよ。
KAGPlugin クラスには全部で7つのイベントハンドラがあるんだ。

KAGPlugin クラスのイベントハンドラ>

見たことないメソッドばっかりだね…
それになんか難しそうだし…
まぁ、KAGPlugin クラスのイベントは Layer クラスとか Window クラスとかとは全然違ってるけど、そんなに解りにくいのは無いと思うよ。
そうなの?
今回作るプラグインは、イベントハンドラの中身もわりとシンプルだしね。
そっか、それならだいじょぶかな。
ん、じゃ今回はこんなところかな。
それじゃ、また次回ね。


前へ | TOP | 次へ