WWALoaderが返す物体・背景パーツの属性値について
※間違い等あるかもしれません。
この文書では、WWALoaderにより、マップデータをロードした時のオブジェクトに含まれる背景・物体属性配列
mapAttribute: number[][];
objectAttribute: number[][];
の内容について解説する。
この配列は、パーツ番号ごとに、そのパーツに設定されている60個にものぼる属性値を管理している。例えば、通行判定(通り抜け可・不可)、増加するステータス変化値、指定位置にパーツを出現などの情報すべてがこの配列にまとまっている。
-
mapAttribute[0]
... mapAttribute[M - 1]
: 背景パーツに対応。 (M
は背景パーツ数)
-
各 number[i]
(0 <= i < M) は 60(WWAConsts.MAP_ATR_MAX
)要素の配列。
-
objectAttribute[0]
... objectAttribute[N - 1]
: 物体パーツに対応。 (N
は物体パーツ数)
-
各 number[i]
(0 <= i < N) は 60(WWAConsts.OBJ_ATR_MAX
)要素の配列。
背景/物体パーツ (パーツ番号 i )の属性値一覧
mapAttribute[i][0]
, objectAttribute[i][0]
使用していません
mapAttribute[i][1]
, objectAttribute[i][1]
- 背景は
mapAttribute[WWAConsts.ATR_CROP]
とも。物体も同様。
- パーツアニメーションの1つ目の、使用画像中における指定位置を示す数値。
- 数値は, パーツ単位のX座標+パーツ単位のY座標 で表現される。
- WWA Wingでは使用せず。かわりに
mapAttribute[i][6]
, mapAttribute[i][7]
を使用している。
mapAttribute[i][2]
, objectAttribute[i][2]
- 背景は
mapAttribute[i][WWAConsts.ATR_CROP2]
とも。物体も同様。
- パーツアニメーションの2つ目の、使用画像中における指定位置を示す数値。
- 数値は, パーツ単位のX座標+パーツ単位のY座標 で表現される。
- 使用しない場合(アニメーションしないパーツ)では0に設定される。
- WWA Wingでは使用せず。かわりに
mapAttribute[i][8]
, mapAttribute[i][9]
を使用している。
mapAttribute[i][3]
, objectAttribute[i][3]
- 背景は
mapAttribute[i][WWAConsts.ATR_TYPE]
とも。物体も同様。
- パーツ種別を示す数値。下記のいずれかの値をとる。
値 |
同じ値を示す定数 |
用途 |
0 |
WWAConsts.MAP_STREET |
道 |
1 |
WWAConsts.MAP_WALL |
壁 |
2 |
WWAConsts.MAP_LOCALGATE |
ジャンプゲート |
4 |
WWAConsts.MAP_URLGATE |
URLゲート |
値 |
同じ値を示す定数 |
用途 |
0 |
WWAConsts.OBJECT_NORMAL |
通常物体 |
1 |
WWAConsts.OBJECT_MESSAGE |
メッセージ |
2 |
WWAConsts.OBJECT_URLGATE |
URLゲート |
3 |
WWAConsts.OBJECT_STATUS |
ステータス変化 |
4 |
WWAConsts.OBJECT_ITEM |
アイテム |
5 |
WWAConsts.OBJECT_DOOR |
扉 |
6 |
WWAConsts.OBJECT_MONSTER |
モンスター |
11 |
WWAConsts.OBJECT_SCORE |
スコア表示 |
14 |
WWAConsts.OBJECT_SELL |
物を売る |
15 |
WWAConsts.OBJECT_BUY |
物を買う |
16 |
WWAConsts.OBJECT_RANDOM |
ランダム選択 |
17 |
WWAConsts.OBJECT_SELECT |
二者択一 |
18 |
WWAConsts.OBJECT_LOCALGATE |
ジャンプゲート |
mapAttribute[i][4]
, objectAttribute[i][4]
- 背景は
mapAttribute[i][WWAConsts.ATR_MODE]
とも。物体も同様。
- パーツ種別によって挙動が異なる。
パーツ種別 |
挙動 |
壁 (背景) |
0: 通り抜け不可, 1(WWAConsts.PASSABLE_OBJECT ): 通り抜け可 |
アイテム (物体) |
0: クリック使用型アイテム, 1: 通常アイテム |
扉 (物体) |
0: 開放時に鍵がなくなる扉, 1: 鍵がなくならない扉 |
mapAttribute[i][5]
, objectAttribute[i][5]
- 背景は
mapAttribute[i][WWAConsts.ATR_STRING]
とも。物体も同様。
- 表示するメッセージID。メッセージIDは、 配列
message
の添字に対応。
mapAttribute[i][6]
, objectAttribute[i][6]
- 背景は
mapAttribute[i][WWAConsts.ATR_X]
とも。物体も同様。
- パーツアニメーションの1つ目の、使用画像中におけるパーツ単位のX座標。
mapAttribute[i][7]
, objectAttribute[i][7]
- 背景は
mapAttribute[i][WWAConsts.ATR_Y]
とも。物体も同様。
- パーツアニメーションの1つ目の、使用画像中におけるパーツ単位のY座標。
-
objectAttribute[i][WWAConsts.ATR_X2]
とも。背景では使用されない。
- パーツアニメーションの2つ目の、使用画像中におけるパーツ単位のX座標。
-
objectAttribute[i][WWAConsts.ATR_Y2]
とも。背景では使用されない。
- パーツアニメーションの2つ目の、使用画像中におけるパーツ単位のY座標。
-
objectAttribute[i][WWAConsts.ATR_ENERGY]
とも。背景では使用されない。
- パーツの生命力。
- モンスターでは、モンスターの生命力。
- ステータス変化・アイテムでは、プレイヤーが取得することによって増加する生命力。
- 【重要】 マイナスのステータス変化については巻末を参照せよ。
-
objectAttribute[i][WWAConsts.ATR_STRENGTH]
とも。背景では使用されない。
- パーツの攻撃力。
- モンスターでは、モンスターの攻撃力。
- ステータス変化では、プレイヤーが取得することによって増加する攻撃力。
- アイテムでは、武器としての攻撃力。(アイテムボックスにある時のみ、その分プレイヤーの攻撃力が上がる)
- 物を売るパーツでは、プレイヤーがアイテムを買った時に増える攻撃力。
- 【重要】 マイナスのステータス変化については巻末を参照せよ。
-
objectAttribute[i][WWAConsts.ATR_DEFENCE]
とも。背景では使用されない。
- パーツの防御力。
- モンスターでは、モンスターの防御力。
- ステータス変化では、プレイヤーが取得することによって増加する防御力。
- アイテムでは、武器としての防御力。(アイテムボックスにある時のみ、その分プレイヤーの防御力が上がる)
- 物を売るパーツでは、プレイヤーがアイテムを買った時に増える防御力。
- 【重要】 マイナスのステータス変化については巻末を参照せよ。
-
objectAttribute[i][WWAConsts.ATR_GOLD]
とも。背景では使用されない。
- パーツの所持金。
- モンスターでは、モンスターを倒した時にプレイヤーの所持金に加算される値。
- ステータス変化・アイテムでは、プレイヤーが取得することによって増加する所持金。
- 物を買うパーツでは、プレイヤーが物を売った時に得られる金。
- 物を売るパーツでは、アイテムの売値。
- 【重要】 マイナスのステータス変化については巻末を参照せよ。
mapAttribute[i][14]
, objectAttribute[i][14]
- 背景は
mapAttribute[i][WWAConsts.ATR_ITEM]
とも。物体も同様。
- 当該パーツに関係するアイテム(物体パーツ番号)。詳細は下記参照。
パーツ種別 |
挙動 |
道 (背景) |
指定されたアイテムを所持している場合にイベントが実行される。 |
壁 (背景) |
指定されたアイテムを所持している場合にイベントが実行される。 |
モンスター (物体) |
モンスターが倒された場合にプレイヤーは、指定番号の物体を取得する。 |
扉 (物体) |
0: プレイヤーがアイテムボックスに空きがある場合に扉に接触すると扉が開く, それ以外: プレイヤーが指定された番号の物体を持って扉に接触すると扉が開く。 |
物を買う (物体) |
指定した番号の物体をプレイヤーから買い取る。 |
物を売る (物体) |
指定した番号の物体をプレイヤーに売る。 |
mapAttribute[i][15]
, objectAttribute[i][15]
- 背景は
mapAttribute[i][WWAConsts.ATR_NUMBER]
とも。物体も同様。
- パーツ種別によって挙動が異なる。
パーツ種別 |
挙動 |
道 (背景) |
待ち時間。 WWAWingの場合、指定数値 * 100 フレーム待ってからイベントを実行する。 |
メッセージ (物体) |
待ち時間。 WWAWingの場合、指定数値 * 100 フレーム待ってからイベントを実行する。 |
アイテム (物体) |
0: アイテム取得時に、一番値が小さいアイテムボックスにこのアイテムが格納される。アイテムボックスがいっぱいの時は取得できない。 それ以外: アイテム取得時にアイテムボックスの指定位置(1から12まで)に挿入される。すでにアイテムがある場合は上書きされる。 |
扉 (物体) |
0: 通り抜け不可, 1(WWAConsts.PASSABLE_OBJECT):通り抜け可 |
mapAttribute[i][16]
, objectAttribute[i][16]
- 背景は
mapAttribute[i][WWAConsts.ATR_JUMP_X]
とも。物体も同様。
- ジャンプゲートにおけるジャンプ先X座標。
- 【重要】 相対座標値, プレイヤー座標値の計算は巻末を参照せよ。
-
objectAttribute[i][WWAConsts.ATR_MOVE]
とも。背景では使用されない。
- 物体パーツの動作属性。数値によって動き方を示す。
値 |
同じ値を示す定数 |
動き方 |
0 |
MoveType.STATIC |
静止 |
1 |
MoveType.CHASE_PLAYER |
プレイヤー追尾 |
2 |
MoveType.RUN_OUT |
逃げる |
3 |
MoveType.HANG_AROUND |
うろうろする |
mapAttribute[i][18]
, objectAttribute[i][18]
- 背景は
mapAttribute[i][WWAConsts.ATR_JUMP_Y]
とも。物体も同様。
- ジャンプゲートにおけるジャンプ先Y座標。
- 【重要】 相対座標値, プレイヤー座標値の計算は巻末を参照せよ。
mapAttribute[i][19]
, objectAttribute[i][19]
- 背景は
mapAttribute[i][WWAConsts.ATR_SOUND]
とも。物体も同様。
- サウンド番号。パーツに乗るか接触すると指定された番号の音が鳴る。
- サウンド番号に関連する定数は以下のとおり。
値(サウンド番号) |
同じ値を示す定数 |
内容 |
1 |
SystemSound.DECISION |
決定時(ボタン押下など)に鳴らす音 |
3 |
SystemSound.ATTACK |
モンスターとの戦闘時に鳴る効果音(打撃音) |
70 |
SystemSound.BGM_LB |
BGMとして使用されるサウンド番号の下限(上限は98) |
99 |
SystemSound.NO_SOUND |
BGMを止める |
mapAttribute[i][20]
, objectAttribute[i][20] 以降
- 20番目の背景は
mapAttribute[i][WWAConsts.ATR_APPEARANCE_BASE]
とも。物体も同様。
- 「指定位置にパーツを出現」で使用される。
- 順番に、「パーツID」「出現先X座標」「出現先Y座標」「物体/背景種別」の4つ組が10個続く。
- 最初の4つ組は「パーツID」の添字が20, 「出現先X座標」の添字が21, 「出現先Y座標」の添字が22, 「物体/背景種別」の添字が23。
- 最後の4つ組は「パーツID」の添字が56, 「出現先X座標」の添字が57, 「出現先Y座標」の添字が58, 「物体/背景種別」の添字が59。
- 「物体/背景種別」は、物体が0(
PartsType.OBJECT
), 背景が1(PartsType.MAP
)。
- 【重要】 相対座標値, プレイヤー座標値の計算は巻末を参照せよ。
ジャンプゲート, 指定位置にパーツを出現で使用される相対座標値, プレイヤー座標値について
- マップ作成ツール上で「
-10
」「+10
」などで表される、パーツ座標基準の相対座標系およびプレイヤー座標値「P
」は、配列中では下記のように表現されている。
配列上での値 |
9000 |
9001 |
9002 |
... |
9999 |
10000 |
10001 |
... |
19999 |
対応する相対座標値(マップ作成ツールでの表記) |
P
|
-9999 |
-9998 |
... |
-1 |
+0 |
+1 |
... |
+9999 |
- ステータス変化で、各種ステータスを減らす目的のもの(変化する量がマイナスになっているもの)は、配列中では下記のように表現されている。
配列上での値 |
0 |
1 |
... |
29999 |
30000 |
30001 |
30002 |
... |
60000 |
対応するステータス変化値(マップ作成ツールでの表記) |
0
|
1 |
... |
29999 |
30000 |
-1 |
-2 |
... |
-30000 |