タグ・マクロ解説

■吉里吉里2/KAG3タグ・マクロ解説

『世界は僕を中心に回っていた。』用に準備されたマクロ解説テキストです。
シナリオを組む時に用いる基本的なタグ・マクロについて説明します。
吉里吉里2/KAG3に触れたことがないライターさん向けに書いたつもり。

基本的な確認事項

○時間記述に関して
kag3では時間を全てミリ秒で指定する。
1000ミリ秒=1秒である。
なお、画像の読み込み処理などの都合上、きっちり正確なミリ単位の動作をするわけではない。

○トランジションとは(リファレンスより引用)
フェードインやフェードアウト、ブラインドなど、時間をかけて画面を切り替える効果をトランジション(移り変わり)と呼びます。
吉里吉里/KAGでは、
  • クロスフェードトランジション
  • ユニバーサルトランジション
  • スクロールトランジション
の、3つの種類のトランジションを使用することができます。

○素材ファイル指定時の注意点
拡張子まで指定する必要はなく、ファイル名だけでソフト側が自動判別してくれる。
画像ファイルはJPGとPNG形式が混在しているので、省略したほうが効率が良い。

○必須属性と任意属性
このテキストではマクロにおける入力パラメーターのことを指す。
必須属性は必ず入力すべき数値・ファイル名であり、省略不可。
主にトランジションやBGMなどのファイル名を指定する。
指定されていなかったり、入力ミスがあるとエラーが出る。
任意属性は既にデフォルトの数値が入力されており、省略可能。
場面・演出に応じて、デフォルトの値からトランジションの移り変わり時間やBGMのフェードアウト時間を変更できる。


基本的なタグ

[l]
クリック待ち。おおよそ ”、。!?」)” の後に仕込む。

[r]
改行。空行を作るときにも使用する。

[p]
改ページ待ち。
ページをリセットする時に[l]タグの代わりに使う。
見た目の動作はクリック待ちと変わらないが、内部では【どこでもセーブ】の基準となるので使い分け必須。

[cm]
ページリセット。ウィンドウに表示されている文字列を消去する。
[font][style]タグで一時的に変更されたパラメーターも、デフォルトの値にリセットされるので注意。

[wait time=***]
ウェイトを入れる。[time]にはウェイトをミリ秒で指定する。
例:[wait time=1000]で動作を1秒停止させることができる。

[ruby text="***"]
テキストにルビを振る。一文字ずつに対してしか設定できない。
○[ruby text="ゆう"]結[ruby text="き"]城[ruby text="ひろ"]大[ruby text="と"]翔
×[ruby text="ゆうき"]結城[ruby text="ひろと"]大翔

[locate x=*** y=***]
テキストの表示位置をピクセル単位で指定する。
ウィンドウの左上が基点となる。実際にはマージンの値も加算されるので注意。
画面の中央に一行だけ表示させたいのであれば、
(ウィンドウの高さ÷2)-マージンY-(フォントサイズ÷2)で算出する。
例:[locate x=0 y=247]「世界はあと一年で滅びます」

[style align=center/right]
一時的にテキストを中央揃え/右揃えにする。
ただし、文字が表示されていく様は、あまり綺麗ではない。
[resetstyle]タグでデフォルトに戻せる。また、ページリセットでも初期設定に。

[font size=*** face=*** color=0xRRGGBB shadow=*** edge=***]
一時的にフォントを変更する。
  • size:フォントサイズをピクセル指定
  • face:フォント名を指定。MS 明朝、MS ゴシックなど。全角。
  • color:16進数で指定。白なら0xFFFFFF、黒なら0x000000、赤なら0xFF0000。
  • shadow:trueで影を表示、falseで非表示。
  • edge:trueで縁取り表示、falseで非表示。
shadowとedgeを両方trueにすると、edgeが優先されshadowは否定される。
他にも[bold][italic]などがある。
MS明朝をボールドにして影表示 or MSゴシックを縁取り表示
この2パターンが基本。MS明朝を縁取りすると文字が潰れる。
[resetfont]タグでデフォルトに戻せる。また、ページリセットでも初期設定に。
回想シーン・モノローグなどで数ページに渡ってフォントを変えるのは、
[deffont 以降の属性は基本的に同じ][resetfont]のセットで可能。
ただし、基本設定を書き換えてしまうので、回想を抜けたら設定し直す必要がある。

[playbgm storage=***]
BGMを演奏する。

;この行は無視されます
コメント化。行の先頭に半角セミコロンを置くことで、その行はゲームには反映されない。


マクロ

・テキストウィンドウ関連
[text_button]
テキストウィンドウ下部にボタンを一撃配置する。
KAGにおける通常のボタンではなく、KAGEXのシステムボタンを使用している。
ウィンドウを残したまま無効にする場合は[csysbutton]を使うこと。
各種ページリセットタグ[cm][ct][er]では消せない。
メッセージウィンドウを非表示にしても、それは見えていないだけでボタンは配置されたままなので注意。

[text_on]
テキストウィンドウをフェードインで表示する。

[text_off]
テキストウィンドウをフェードアウトで消去する。

・BGM関連
[fadeoutbgm2]
任意属性:[time=1500]何秒で停めるか。デフォルトでは1.5秒。
BGMをフェードアウトで停止する。
通常の[fadeoutbgm]と違う点は、スキップ中はフェードアウトではなく即座に演奏が終了するところ。

・効果音関連
[se]
必須属性:[file=***]効果音ファイル指定
打撃音などのループしない効果音を演奏するためのマクロ。
スキップ中は鳴らない。

[se_loop]
必須属性:[file=***]効果音ファイル指定
任意属性:[loop=true]ループさせるか否か。デフォルトではする。
街中の喧騒や雨音などのループさせる環境音向けマクロ。
上記と違って、スキップ中でも鳴る。

[fadeoutse2]
任意属性:[time=1500]何秒で停めるか。デフォルトでは1.5秒。
[se_loop]でループ演奏した効果音をフェードアウトで停める。
通常の[fadeoutse]と違う点は、スキップ中はフェードアウトではなく即座に演奏が終了するところ。

※補足
[se]と[se_loop]により、効果音は同時に2曲まで使用可能。
ただし、[se_loop]の重ねがけは不可能。
[se_loop]で鳴らした効果音は[fadeoutse2]で停めること。

・背景関連
[base_cross]
必須属性:[sto=***]背景画像ファイル指定
任意属性:[time=1000]移り変わり時間。デフォルトでは1秒。
背景をクロスフェードトランジションで任意の画像に移し変える。

[base_uni]
必須属性:[sto=***]背景画像ファイル指定
必須属性:[rule=***]ルール画像ファイル指定
任意属性:[time=1000]移り変わり時間。デフォルトでは1秒。
任意属性:[vague=64]あいまい領域値。デフォルトでは64。
背景をユニバーサルトランジションで任意の画像に移し変える。
『あいまい領域値』とは切り替わる境界線の『ぼかし具合』のこと。
見極めが難しいが、ブラインドなどの細かい切り替えは1、それ以外は64が無難(?)

[base_sc]
必須属性:[sto=***]背景画像ファイル指定
任意属性:[time=1000]移り変わり時間。デフォルトでは1秒。
任意属性:[from=left]どちらからスクロールするか。デフォルトでは左から。
任意属性:[stay=nostay]画像の処理。デフォルトでは押し出す。
背景をスクロールトランジションで任意の画像に移し変える。
[from]の中身:left(左→右) right(右→左) top(上→下) bottom(下→上) の4パターン
[stay]の中身:nostay stayfore stayback の3パターン。
実際に動かしてもらわないと、[stay]の挙動は説明しにくいので割愛。

[blackout]
任意属性:[time=1000]移り変わり時間。デフォルトでは1秒。
背景をクロスフェードトランジションで真っ黒に描画する。
[base_cross]の画像指定を省いて簡略化しただけ。

[whiteout]
任意属性:[time=1000]移り変わり時間。デフォルトでは1秒。
背景をクロスフェードトランジションで真っ白に描画する。
[base_cross]の画像指定を省いて簡略化しただけ。


エフェクト

エフェクトはマクロでがちがちに固めてあります。
一行で一つのエフェクトが発動できますが、基本的に効果音以外は調整できない設計です。
エフェクトのマクロ名は[eff_XXX]で統一されています。

・基本的なこと
[eff_start]
エフェクトの開始を宣言します。
単発のエフェクトを使用する場合に用います。
中身は
  • テキストウィンドウの非表示
  • 立ち絵のクリア
  • 黒背景を仕込む
となっております

[eff_start_combo]
エフェクトの開始を宣言します。
複数のエフェクトを使用する場合に用います。
中身は『単発版』と同じです。

[eff_end sto=XXX]
エフェクトの終了を宣言します。
中身は
  • [sto=XXX]で背景を描画
  • テキストウィンドウを表示
となっております。
背景の描画は必須属性です。注意してください。

実際の記述はこうなります。

○単発の場合
[eff_start]
[eff_stab]
[eff_end sto=bg_112_dt]
[chara_01 sto_0=ren_1a_okoru sto_1=miu]

○複数の場合
[eff_start_combo]
[eff_slash_a]
[eff_claw]
[eff_slash_b]
[eff_flash_a]
[eff_cross]
[eff_stab]
[eff_slash_d]
[eff_flash_b]
[eff_end sto=school_room]
[chara_0c sto=yuria]

必ず、[eff_start]と[eff_end]で挟んで下さい。
これは『通常攻撃エフェクト・魔法攻撃エフェクト』共通の仕様です。
テキストウィンドウに表示されている文章は保持されます。
ただし、立ち絵の情報は失われるので、状況に応じて再指定が必要となります。

○[eff_start]と[eff_start_combo]はどう違うのか?
通常攻撃エフェクトの描画時間が違うだけです(魔法の演出時間は固定されています)。
[eff_start_combo]でエフェクトを宣言すると、挟まれたエフェクトが高速で描画されます。
ですので、実際は『単発・複数』の明確な使い分けを考慮しなくても大丈夫です。
一応、『単発・複数』で最適っぽい時間があてはめてあります。

その他

●KAG System リファレンス
http://devdoc.kikyou.info/tvp/docs/kag3doc/contents/
タグの詳細はここで

●WHiNNY / KAGのタグを色分けしてくれるTDIテキストエディタ
http://www5d.biglobe.ne.jp/~f-taste/
ここの『開発終了ソフトウェア』にある。ソースを眺めるならこいつで

●KKDE / KAG・TJS入力補完機能 など
http://www.poringsoft.net/
これなくしてスクリプトは組めない、と言っても過言ではない
最終更新:2007年10月27日 22:21
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。