KAGEX拡張例(doCommand)

KAGではkag.tagHandlers.ch(%);のようにkag.tagHandlersを使ってTJSからタグが実行できました。KAGEXの場合、同じ方法で呼び出せるタグもありますが、最もよく使うであろうワールド拡張系のタグは呼び出せません。いくつか例を挙げます。

キャラクタオブジェクト

[char]タグのコマンドはキャラクタオブジェクト(world_object.env.characters[“キャラ名”])を経由して呼び出します。
[tjs]
// @しおり face=怒 と同じ動作をさせる例
world_object.env.characters["しおり"].doCommand("face", "怒", %[]);
world_object.env.updateAll();
[/tjs]
world_object.env.characters[“キャラ名”].doCommand(“属性名”, “属性値”, %[]);という形で大体は呼び出せます。その次の行のworld_object.env.updateAll();も必須です。一行目の段階では内部の状態が変更されただけで画面上には反映されません。updateAll()で初めて画面上の表情も変更されます。

2つ以上のコマンドを実行したい場合はupdateAllは最後に付けておけばいいです。
[tjs]
// @しおり face=怒り xpos=100 と同じ動作をさせる例
world_object.env.characters["しおり"].doCommand("face", "怒", %[]);
world_object.env.characters["しおり"].doCommand("xpos", "100", %[]);
world_object.env.updateAll();
[/tjs]

背景オブジェクト

[stage]タグのコマンドは背景オブジェクト(world_object.env.stage)を経由して呼び出します。
[tjs]
// @stage stage=道路 と同じ動作をさせる例
world_object.env.stage.doCommand("stage", "道路", %[]);
world_object.env.updateAll();
[/tjs]
world_object.env.stage.doCommand(“属性名”, “属性値”, %[]);という形になります。その他は[char]の場合と同様なので説明は省略します。

イベントオブジェクト

[evant]タグのコマンドはイベントオブジェクト(world_object.env.event)を経由して呼び出します。
[tjs]
// @event file=event1 と同じ動作をさせる例
world_object.env.event.doCommand("file", "event1", %[]);
world_object.env.updateAll();
[/tjs]
world_object.env.event.doCommand(“属性名”, “属性値”, %[]);という形になります。その他は[char]の場合と同様なので説明は省略します。

環境レイヤオブジェクト

[layer]タグのコマンドは環境レイヤオブジェクト(world_object.env.layers[“レイヤ名”])を経由して呼び出します。
[tjs]
// @レイヤ hide と同じ動作をさせる例
world_object.env.layers["レイヤ"].doCommand("hide", "true", %[]);
world_object.env.updateAll();
[/tjs]
world_object.env.layers[“レイヤ名”].doCommand(“属性名”, “属性値”, %[]);という形になります。その他は[char]の場合と同様なので説明は省略します。

環境オブジェクト

[env]タグのコマンドは環境オブジェクト(world_object.env)を経由して呼び出します。
[tjs]
// @env contrast=-255 と同じ動作をさせる例
world_object.env.doCommand("contrast", "-255", %[]);
world_object.env.updateAll();
[/tjs]
world_object.env.doCommand(“属性名”, “属性値”, %[]);という形になります。その他は[char]の場合と同様なので説明は省略します。

BGMオブジェクト

[bgm]タグのコマンドはBGMオブジェクト(world_object.env.bgm)を経由して呼び出します。
[tjs]
// @bgm play=bgm01 と同じ動作をさせる例
world_object.env.bgm.doCommand("play", "bgm01", %[]);
world_object.env.updateAll();
[/tjs]
world_object.bgm.doCommand(“属性名”, “属性値”, %[]);という形になります。その他は[char]の場合と同様なので説明は省略します。

効果音オブジェクト

[se]タグのコマンドはSEオブジェクト(world_object.env.ses[バッファ番号])を経由して呼び出します。
[tjs]
// @se buf=0 play=se01 と同じ動作をさせる例
world_object.env.ses[0].doCommand("play", "se01", %[]);
world_object.env.updateAll();
[/tjs]
world_object.ses[バッファ番号].doCommand(“属性名”, “属性値”, %[]);という形になります。その他は[char]の場合と同様なので説明は省略します。

KAGEX拡張例(doCommand)」への1件のフィードバック

  1. ピンバック: KAGEX拡張例(kag.addTag) - Biscrat Blog

コメントを残す

メールアドレスが公開されることはありません。