WWAData - WWAWing/WWAWing GitHub Wiki

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][8]

  • objectAttribute[i][WWAConsts.ATR_X2] とも。背景では使用されない。
  • パーツアニメーションの2つ目の、使用画像中におけるパーツ単位のX座標。

objectAttribute[i][9]

  • objectAttribute[i][WWAConsts.ATR_Y2] とも。背景では使用されない。
  • パーツアニメーションの2つ目の、使用画像中におけるパーツ単位のY座標。

objectAttribute[i][10]

  • objectAttribute[i][WWAConsts.ATR_ENERGY] とも。背景では使用されない。
  • パーツの生命力。
    • モンスターでは、モンスターの生命力。
    • ステータス変化・アイテムでは、プレイヤーが取得することによって増加する生命力。
  • 【重要】 マイナスのステータス変化については巻末を参照せよ。

objectAttribute[i][11]

  • objectAttribute[i][WWAConsts.ATR_STRENGTH] とも。背景では使用されない。
  • パーツの攻撃力。
    • モンスターでは、モンスターの攻撃力。
    • ステータス変化では、プレイヤーが取得することによって増加する攻撃力。
    • アイテムでは、武器としての攻撃力。(アイテムボックスにある時のみ、その分プレイヤーの攻撃力が上がる)
    • 物を売るパーツでは、プレイヤーがアイテムを買った時に増える攻撃力。
  • 【重要】 マイナスのステータス変化については巻末を参照せよ。

objectAttribute[i][12]

  • objectAttribute[i][WWAConsts.ATR_DEFENCE] とも。背景では使用されない。
  • パーツの防御力。
    • モンスターでは、モンスターの防御力。
    • ステータス変化では、プレイヤーが取得することによって増加する防御力。
    • アイテムでは、武器としての防御力。(アイテムボックスにある時のみ、その分プレイヤーの防御力が上がる)
    • 物を売るパーツでは、プレイヤーがアイテムを買った時に増える防御力。
  • 【重要】 マイナスのステータス変化については巻末を参照せよ。

objectAttribute[i][13]

  • 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][17]

  • 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
⚠️ **GitHub.com Fallback** ⚠️