「マップ定義案 (めずもな)」の編集履歴(バックアップ)一覧はこちら
「マップ定義案 (めずもな)」(2008/09/19 (金) 20:08:53) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
(ほとんど)XMLっぽい構文で定義します。
<?xml version="1.0" encoding="UTF-8"?>
<!--
ルートノード
type属性で何を定義しているかを判断します。
"stage"に設定した場合はステージ定義になります。
ステージのベースMCや座標定義、エフェクトの設定をします。
-->
<root type="stage">
<!-- ヘッダー -->
<information>
<!--
ステージ名を指定します。
lang属性で言語を指定します。
lang属性に指定できる文字列は以下の通りです。
+――+―――――+
|lang|定義内容 |
+――+―――――+
|jp |日本語 |
|en |英語 |
|id |ステージID|
+――+―――――+
ステージIDはステージを指定するときに使用します。
IDが無かったりIDが被ったりするとバグ発生。
-->
<title lang="jp">テストルーム</title>
<title lang="en">Test Room</title>
<title lang="id">test_room</title>
<!--
リンゲージ名で共通する部分を指定します。
最後の"."は抜いてください。
-->
<package name="com.gmail.aal.gpp.stage" />
<!--
nameで定義先、contentで定義内容を書きます。
name属性で指定できる物は以下の通りです。
+―――――+――――――――-+――――――――――――――――――――――-+
|name |content |内容 |
+―――――+――――――――-+――――――――――――――――――――――-+
|areaID |エリアIDのみ |このステージがどのエリアかを指定 |
|radio |ブール |ラジヲが使えるかどうか |
|radionum |0~9 |ラジヲが幾つ使えるか(radio=true時のみ有効) |
|video |ブール |ビデヲが使えるかどうか |
|rulanable |ブール |ルーラ可能なステージかどうか |
|walkSpeed |tardy/normal/fast|ルーラ可能なステージかどうか |
|anonymous |ブール |名前を強制名無しにするかどうか |
|topLayer |URL(未定義で無効)|上にswfを重ねる。相対はmain.swfが基準 |
|stageMC |MCのリンゲージ |ステージ背景となるMCを指定します |
|width |1以上の整数 |ステージのマス数(x座標) |
|height |1以上の整数 |ステージのマス数(y座標) |
|moveX |整数 |1マス移動したときのx座標移動量 |
|moveY |整数 |1マス移動したときのy座標移動量 |
|bgColor |整数 |背景色(省略でデフォルト色になります |
|bgImg |整数 |背景画像 (相対パスはmain.swf基準。) |
| | |""でデフォルト画像。省略で非表示にできます。)|
|soundTheme|サウンドテーマID |初期設定でのサウンドテーマを設定します |
+―――――+――――――――-+――――――――――――――――――――――-+
ただし、これ以外にも独自に設定することは可能ですが非推奨。
独自に設定したいものがある場合はvalue要素を使ってください。
-->
<meta name="areaID" content="test" />
<meta name="radio" content="false" />
<meta name="radionum" content="0" />
<meta name="video" content="false" />
<meta name="rulanable" content="true" />
<meta name="walkSpeed" content="normal" />
<meta name="stageMC" content="TestRoom" />
<meta name="width" content="3" />
<meta name="height" content="3" />
<meta name="moveX" content="40" />
<meta name="moveY" content="20" />
<!--
定義とは関係ないけど保持したいデータ。
<ステージID>.value.<id属性>で取得出来ます。
自分自身のvalueを見る場合は"<ステージID>."を省略します。
-->
<value id="test" data="データが入ります。" />
<!--
座標ID定義。
rulaや部屋移動などでこれを使います。指定する属性は以下の通りです。
+――-+―――――――――――――――――――+
|属性 |内容 |
+――-+―――――――――――――――――――+
|id |座標ID。これを使って指定出来る |
|x |x座標。整数値 |
|y |y座標。整数値 |
|dir |向いている方向(0:右, 1:下, 2:左, 3:上)|
+――-+―――――――――――――――――――+
dir属性は特定の処理(rulaなど)以外は全方向対応。
座標IDを指定する場合は<ステージID>.<座標ID>で指定。
自分自信のpointを見る場合は"<ステージID>."を省略します。
-->
<point id="rula" x="0" y="0" dir="0" />
<point id="gotoNextRoom" x="0" y="0" dir="0" />
<!--
テンプレートエフェクトです。
特定のタグで使えるimport属性を利用して読み込みます。
idには任意の名前を指定できますが、マジックIDというものが在ります。
マジックIDを指定すると、特殊な処理になります。
マジックIDは以下の通りです。
+―――――+―――――――――――――――――+
|マジックID|処理 |
+―――――+―――――――――――――――――+
|default |全てのマスでの初期値を設定します。|
+―――――+―――――――――――――――――+
要素にエフェクト内容を書きます。詳細は下記。
-->
<template id="default">
<!--
エフェクトタイミングの定義です。
type属性でタイミングを指定します。
type属性に指定できるタイミングは以下の通りです。
+――――+―――――――――――――――――+
|type属性|タイミング |
+――――+―――――――――――――――――+
|enter |そのステージに入った瞬間 |
|out |そのステージを出た瞬間 |
|always |常時(24回/sec) |
|stay |その座標に到着~出発直前(24回/sec)|
|leave |その座標から動いた瞬間 |
|come |その座標に着いた瞬間 |
|moving |その座標を動いた直後~到着直前 |
|talk |自分が話した瞬間 |
|hear |ほかの人が話した瞬間 |
|shift |ほかの人が動いた瞬間 |
+――――+―――――――――――――――――+
また、上記以外のtype属性を指定しても使えます。
その場合はimportEffectを使用してください。(下記参照)
要素にエフェクト内容を書きます。
書き方は下記の通りです。
+―――――――――――――――――――――――――――――――――――――――――
# 先頭に"#"をつけるとコメントです。
エフェクト名:内容
# 複数内容を指定する場合は" "を1つ間においてください。
# 2個以上同じエフェクトを置くことはできません(そのうち改善)
エフェクト名:内容1 内容2
エフェクト名:内容1 内容2 内容3
+―――――――――――――――――――――――――――――――――――――――――
同じエフェクトがある場合は下に書いたほうが優先されます。
同じエフェクトで複数記述はできません。
(ただし、一部のエフェクトは" "で区切って記述すれば出来ます。)
エフェクトは下記のテーブルを参照。
+―――――――+―――――――+――――――――――――――――――――――――――+
|エフェクト名 |許可データ |意味 |
+―――――――+―――――――+――――――――――――――――――――――――――+
|blockUP |ブール |上にいけないようにするかどうか |
|blockDown |ブール |下にいけないようにするかどうか |
|blockRight |ブール |右にいけないようにするかどうか |
|blockLeft |ブール |左にいけないようにするかどうか |
|warp |座標ID |座標ID先にワープする |
|hitpoint |整数 |HPに整数値を足す。(負数で引く) |
|magicpoint |整数 |MPに整数値を足す。(負数で引く) |
|bottomMC |MCのリンゲージ|キャラの後ろに表示 |
|bottomMCTarget|MCのリンゲージ|動いたキャラの後ろに表示 |
|topMC |MCのリンゲージ|キャラの前に表示 |
|topMCTarget |MCのリンゲージ|動いたキャラの前に表示 |
|pose |stand/sit |キャラの姿勢を設定します |
|direct |0, 1, 2, 3 |0:上, 1:右, 2:下, 3:左 に向かせる |
|move |0, 1, 2, 3 |(方向はdirectと同じ)に移動させる |
|sound |SEタイミングID|SEタイミングIDに関連付けられたサウンドを流す(BGM×) |
|soundTheme |SEテーマID |SEをSEテーマにしたがって変更 |
|soundBack |指定なし |SEをユーザが指定していた設定に戻す |
|effectImport |type名 |同じtemplate内の特定のtypeのエフェクトを自身で実行 |
| | |対象エフェクト内に無効化されるエフェクトがあると |
| | |そのエフェクトは実行されません |
| | |(ex:enterでalwaysをImportするが、poseは無効化される)|
|callFunction |ステージClass |ステージに関連付けられたクラスの |
| | のメソッド名|メソッドを呼び出します。(引数も複数指定可能) |
+―――――――+―――――――+――――――――――――――――――――――――――+
また、それぞれのエフェクトには対応するタイミングがあります。
下記のテーブルを参照してください(○が対応、×は無効化されるだけで保持されます)。
+―――――――+―――+―――+―――+―――+―――+―――+―――+―――+―――+―――+
|エフェクト名 |enter | out |always| stay |leave | come |moving| talk | hear |shift |
+―――――――+―――+―――+―――+―――+―――+―――+―――+―――+―――+―――+
|blockUP | × | × | ○ | × | × | × | × | × | × | × |
|blockDown | × | × | ○ | × | × | × | × | × | × | × |
|blockRight | × | × | ○ | × | × | × | × | × | × | × |
|blockLeft | × | × | ○ | × | × | × | × | × | × | × |
|warp | × | × | × | × | × | ○ | × | ○ | ○ | ○ |
|hitpoint | ○ | ○ | × | × | ○ | ○ | × | ○ | ○ | ○ |
|magicpoint | ○ | ○ | × | × | ○ | ○ | × | ○ | ○ | ○ |
|bottomMC | ○ | × | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
|bottomMCTarget| × | × | × | × | × | × | × | × | ○ | ○ |
|topMC | ○ | × | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
|topMCTarget | × | × | × | × | × | × | × | × | ○ | ○ |
|pose | ○ | × | × | ○ | ○ | ○ | × | ○ | ○ | ○ |
|direct | ○ | × | ○ | ○ | ○ | ○ | × | ○ | ○ | ○ |
|move | ○ | × | × | × | × | ○ | × | ○ | ○ | ○ |
|sound | ○ | ○ | × | × | ○ | ○ | × | ○ | ○ | ○ |
|soundTheme | ○ | ○ | × | × | ○ | ○ | × | ○ | ○ | ○ |
|soundBack | × | ○ | × | × | ○ | ○ | × | ○ | ○ | ○ |
|effectImport | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
|callFunction | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
+―――――――+―――+―――+―――+―――+―――+―――+―――+―――+―――+―――+
-->
<!--
常時適用します。
-->
<effect type="always">
blockUp:false
blockDown:false
blockRight:false
blockLeft:false
</effect>
</template>
<template id="pandora_box">
<!--
そのマップにとどまっているとき
-->
<effect type="stay">
# TestRoomInstance.createBubble (chrInfo, "floor", "4")
callFunction:createBubble floor 4
</effect>
</template>
</information>
<!-- マップ定義 -->
<main>
<!--
x座標を指定します。
id属性でx座標が指定します。(一番上の座標が0です。)
import属性でのみテンプレートエフェクトを読み込むことが出来ます。
-->
<x id="0" />
<x id="1">
<!--
指定した座標の情報を書きます。
id属性でy座標を指定します。(一番上の座標が0です。)
また、import属性でテンプレートエフェクトを読み込みことが出来ます。
エフェクト設定をしない場合は省略することができます。
-->
<panel id="1" import="pandora_box" />
<!--
エフェクトを定義する場合はpanelに属性を定義します(ただし、非推奨です)。
エフェクトの書き方はtemplateと同じです。
この書き方はしばらくはサポートしますが、将来サポートをやめる可能性があります。
なので、書くときはtemplate要素を利用してください。
-->
<panel id="2">
sound:my_sound
</panel>
</x>
<!--
このタグも省略可能です。
<x id="2" />
-->
</main>
</root>
(ほとんど)XMLっぽい構文で定義します。
<?xml version="1.0" encoding="UTF-8"?>
<!--
ルートノード
type属性で何を定義しているかを判断します。
"stage"に設定した場合はステージ定義になります。
ステージのベースMCや座標定義、エフェクトの設定をします。
-->
<root type="stage">
<!-- ヘッダー -->
<information>
<!--
ステージ名を指定します。
lang属性で言語を指定します。
lang属性に指定できる文字列は以下の通りです。
+――+―――――+
|lang|定義内容 |
+――+―――――+
|jp |日本語 |
|en |英語 |
|id |ステージID|
+――+―――――+
ステージIDはステージを指定するときに使用します。
IDが無かったりIDが被ったりするとバグ発生。
-->
<title lang="jp">テストルーム</title>
<title lang="en">Test Room</title>
<title lang="id">test_room</title>
<!--
リンゲージ名で共通する部分を指定します。
最後の"."は抜いてください。
-->
<package name="com.gmail.aal.gpp.stage" />
<!--
nameで定義先、contentで定義内容を書きます。
name属性で指定できる物は以下の通りです。
+―――――+――――――――-+――――――――――――――――――――――-+
|name |content |内容 |
+―――――+――――――――-+――――――――――――――――――――――-+
|areaID |エリアIDのみ |このステージがどのエリアかを指定 |
|radio |ブール |ラジヲが使えるかどうか |
|radionum |0~9 |ラジヲが幾つ使えるか(radio=true時のみ有効) |
|video |ブール |ビデヲが使えるかどうか |
|rulanable |ブール |ルーラ可能なステージかどうか |
|walkSpeed |tardy/normal/fast|ルーラ可能なステージかどうか |
|anonymous |ブール |名前を強制名無しにするかどうか |
|topLayer |URL(未定義で無効)|上にswfを重ねる。相対はmain.swfが基準 |
|stageMC |MCのリンゲージ |ステージ背景となるMCを指定します |
|width |1以上の整数 |ステージのマス数(x座標) |
|height |1以上の整数 |ステージのマス数(y座標) |
|moveX |整数 |1マス移動したときのx座標移動量 |
|moveY |整数 |1マス移動したときのy座標移動量 |
|bgColor |整数 |背景色(省略でデフォルト色になります |
|bgImg |整数 |背景画像 (相対パスはmain.swf基準。) |
| | |""でデフォルト画像。省略で非表示にできます。)|
|se |SEテーマID |初期設定でのSEテーマを設定します |
|bgm |BGMID |初期設定でのBGMを設定します |
+―――――+――――――――-+――――――――――――――――――――――-+
ただし、これ以外にも独自に設定することは可能ですが非推奨。
独自に設定したいものがある場合はvalue要素を使ってください。
-->
<meta name="areaID" content="test" />
<meta name="radio" content="false" />
<meta name="radionum" content="0" />
<meta name="video" content="false" />
<meta name="rulanable" content="true" />
<meta name="walkSpeed" content="normal" />
<meta name="stageMC" content="TestRoom" />
<meta name="width" content="3" />
<meta name="height" content="3" />
<meta name="moveX" content="40" />
<meta name="moveY" content="20" />
<!--
定義とは関係ないけど保持したいデータ。
<ステージID>.value.<id属性>で取得出来ます。
自分自身のvalueを見る場合は"<ステージID>."を省略します。
-->
<value id="test" data="データが入ります。" />
<!--
座標ID定義。
rulaや部屋移動などでこれを使います。指定する属性は以下の通りです。
+――-+―――――――――――――――――――+
|属性 |内容 |
+――-+―――――――――――――――――――+
|id |座標ID。これを使って指定出来る |
|x |x座標。整数値 |
|y |y座標。整数値 |
|dir |向いている方向(0:右, 1:下, 2:左, 3:上)|
+――-+―――――――――――――――――――+
dir属性は特定の処理(rulaなど)以外は全方向対応。
座標IDを指定する場合は<ステージID>.<座標ID>で指定。
自分自信のpointを見る場合は"<ステージID>."を省略します。
-->
<point id="rula" x="0" y="0" dir="0" />
<point id="gotoNextRoom" x="0" y="0" dir="0" />
<!--
テンプレートエフェクトです。
特定のタグで使えるimport属性を利用して読み込みます。
idには任意の名前を指定できますが、マジックIDというものが在ります。
マジックIDを指定すると、特殊な処理になります。
マジックIDは以下の通りです。
+―――――+―――――――――――――――――+
|マジックID|処理 |
+―――――+―――――――――――――――――+
|default |全てのマスでの初期値を設定します。|
+―――――+―――――――――――――――――+
要素にエフェクト内容を書きます。詳細は下記。
-->
<template id="default">
<!--
エフェクトタイミングの定義です。
type属性でタイミングを指定します。
type属性に指定できるタイミングは以下の通りです。
+――――+―――――――――――――――――+
|type属性|タイミング |
+――――+―――――――――――――――――+
|enter |そのステージに入った瞬間 |
|out |そのステージを出た瞬間 |
|always |常時(24回/sec) |
|stay |その座標に到着~出発直前(24回/sec)|
|leave |その座標から動いた瞬間 |
|come |その座標に着いた瞬間 |
|moving |その座標を動いた直後~到着直前 |
|talk |自分が話した瞬間 |
|hear |ほかの人が話した瞬間 |
|shift |ほかの人が動いた瞬間 |
+――――+―――――――――――――――――+
また、上記以外のtype属性を指定しても使えます。
その場合はimportEffectを使用してください。(下記参照)
要素にエフェクト内容を書きます。
書き方は下記の通りです。
+―――――――――――――――――――――――――――――――――――――――――
# 先頭に"#"をつけるとコメントです。
エフェクト名:内容
# 複数内容を指定する場合は" "を1つ間においてください。
# 2個以上同じエフェクトを置くことはできません(そのうち改善)
エフェクト名:内容1 内容2
エフェクト名:内容1 内容2 内容3
+―――――――――――――――――――――――――――――――――――――――――
同じエフェクトがある場合は下に書いたほうが優先されます。
同じエフェクトで複数記述はできません。
(ただし、一部のエフェクトは" "で区切って記述すれば出来ます。)
エフェクトは下記のテーブルを参照。
+―――――――+―――――――+――――――――――――――――――――――――――+
|エフェクト名 |許可データ |意味 |
+―――――――+―――――――+――――――――――――――――――――――――――+
|blockUP |ブール |上にいけないようにするかどうか |
|blockDown |ブール |下にいけないようにするかどうか |
|blockRight |ブール |右にいけないようにするかどうか |
|blockLeft |ブール |左にいけないようにするかどうか |
|warp |座標ID |座標ID先にワープする |
|hitpoint |整数 |HPに整数値を足す。(負数で引く) |
|magicpoint |整数 |MPに整数値を足す。(負数で引く) |
|bottomMC |MCのリンゲージ|キャラの後ろに表示 |
|bottomMCTarget|MCのリンゲージ|動いたキャラの後ろに表示 |
|topMC |MCのリンゲージ|キャラの前に表示 |
|topMCTarget |MCのリンゲージ|動いたキャラの前に表示 |
|pose |stand/sit |キャラの姿勢を設定します |
|direct |0, 1, 2, 3 |0:上, 1:右, 2:下, 3:左 に向かせる |
|move |0, 1, 2, 3 |(方向はdirectと同じ)に移動させる |
|se |SEタイミングID|SEタイミングIDに関連付けられたサウンドを流す(BGM×) |
|seTheme |SEテーマID |SEをSEテーマにしたがって変更 |
|seBack |指定なし |SEをユーザが指定していた設定に戻す |
|bgm |BGMID |BGMを変更します。 |
|bgmBack |指定なし |BGMをユーザが指定していた設定に戻す |
|effectImport |type名 |同じtemplate内の特定のtypeのエフェクトを自身で実行 |
| | |対象エフェクト内に無効化されるエフェクトがあると |
| | |そのエフェクトは実行されません |
| | |(ex:enterでalwaysをImportするが、poseは無効化される)|
|callFunction |ステージClass |ステージに関連付けられたクラスの |
| | のメソッド名|メソッドを呼び出します。(引数も複数指定可能) |
+―――――――+―――――――+――――――――――――――――――――――――――+
また、それぞれのエフェクトには対応するタイミングがあります。
下記のテーブルを参照してください(○が対応、×は無効化されるだけで保持されます)。
+―――――――+―――+―――+―――+―――+―――+―――+―――+―――+―――+―――+
|エフェクト名 |enter | out |always| stay |leave | come |moving| talk | hear |shift |
+―――――――+―――+―――+―――+―――+―――+―――+―――+―――+―――+―――+
|blockUP | × | × | ○ | × | × | × | × | × | × | × |
|blockDown | × | × | ○ | × | × | × | × | × | × | × |
|blockRight | × | × | ○ | × | × | × | × | × | × | × |
|blockLeft | × | × | ○ | × | × | × | × | × | × | × |
|warp | × | × | × | × | × | ○ | × | ○ | ○ | ○ |
|hitpoint | ○ | ○ | × | × | ○ | ○ | × | ○ | ○ | ○ |
|magicpoint | ○ | ○ | × | × | ○ | ○ | × | ○ | ○ | ○ |
|bottomMC | ○ | × | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
|bottomMCTarget| × | × | × | × | × | × | × | × | ○ | ○ |
|topMC | ○ | × | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
|topMCTarget | × | × | × | × | × | × | × | × | ○ | ○ |
|pose | ○ | × | × | ○ | ○ | ○ | × | ○ | ○ | ○ |
|direct | ○ | × | ○ | ○ | ○ | ○ | × | ○ | ○ | ○ |
|move | ○ | × | × | × | × | ○ | × | ○ | ○ | ○ |
|se | ○ | ○ | × | × | ○ | ○ | × | ○ | ○ | ○ |
|seTheme | ○ | ○ | × | × | ○ | ○ | × | ○ | ○ | ○ |
|seBack | × | ○ | × | × | ○ | ○ | × | ○ | ○ | ○ |
|bgm | ○ | ○ | × | × | ○ | ○ | × | ○ | ○ | ○ |
|bgmBack | × | ○ | × | × | ○ | ○ | × | ○ | ○ | ○ |
|effectImport | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
|callFunction | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
+―――――――+―――+―――+―――+―――+―――+―――+―――+―――+―――+―――+
-->
<!--
常時適用します。
-->
<effect type="always">
blockUp:false
blockDown:false
blockRight:false
blockLeft:false
</effect>
</template>
<template id="pandora_box">
<!--
そのマップにとどまっているとき
-->
<effect type="stay">
# TestRoomInstance.createBubble (chrInfo, "floor", "4")
callFunction:createBubble floor 4
</effect>
</template>
</information>
<!-- マップ定義 -->
<main>
<!--
x座標を指定します。
id属性でx座標が指定します。(一番上の座標が0です。)
import属性でのみテンプレートエフェクトを読み込むことが出来ます。
-->
<x id="0" />
<x id="1">
<!--
指定した座標の情報を書きます。
id属性でy座標を指定します。(一番上の座標が0です。)
また、import属性でテンプレートエフェクトを読み込みことが出来ます。
エフェクト設定をしない場合は省略することができます。
-->
<panel id="1" import="pandora_box" />
<!--
エフェクトを定義する場合はpanelに属性を定義します(ただし、非推奨です)。
エフェクトの書き方はtemplateと同じです。
この書き方はしばらくはサポートしますが、将来サポートをやめる可能性があります。
なので、書くときはtemplate要素を利用してください。
-->
<panel id="2">
sound:my_sound
</panel>
</x>
<!--
このタグも省略可能です。
<x id="2" />
-->
</main>
</root>
表示オプション
横に並べて表示:
変化行の前後のみ表示: