投稿
NoB NoB777
質問です。 マップエディタの「A」で「×」を付けたBGキャラはどのように利用するのでしょうか? BGGETで設定状態を取得できるのかと思いましたがうまくできませんでした。
0そうだね
プレイ済み
返信[1]
親投稿
Aはアトリビュート(属性)の意味だと思うのですが、このデータはマップツールが生成したデータに含まれる感じで実際のマップデータ(BG)自体に含まれる情報ではないのです。 なので利用する場合、マップツールで作ったマップをロードする際にこのA情報を配列に読み込んでおき、それを参照する形で利用する事になります。 以前作ったサンプルに一応このアトリビュートを使ったものがあるので参考になりそうならしてみてください。僕の活動の12月30日にある「スマイルツールのマップエディタで作ったマップを使った大型サンプルです」のやつです。
1そうだね
プレイ済み
返信[2]
親投稿
NoB NoB777
でんぺんさん、いつもありがとうございます。 なるほど、このアトリビュートと思われる情報を読み取るにはマップデータの構造を把握する必要がありそうですね。 でんぺんさんのマップを使った大型サンプルを確認させていただきます。
0そうだね
プレイ済み
返信[3]
親投稿
NoB NoB777
でんぺんさん、とても参考になりました。 マップデータは全体で要素数8456個(総byte数:33824byte ※1byte=32bit) マップデータの構造 要素番号0〜 7:ヘッダ部? 32byte     8〜 263:アトリビュート 1024byte    264〜2311:マップデータ(レイヤ1) 8192byte    2312〜4359:マップデータ(レイヤ2) 8192byte    4360〜6407:マップデータ(レイヤ3) 8192byte    6408〜8455:マップデータ(レイヤ4) 8192byte 壁設定は上記アトリビュートに設定されている。 アトリビュートの総サイズ1024byteの1byte目から1024byte目までがそれぞれ キャラ番号に対応しており、壁設定がされている場合は各キャラ番号に対応した要素番目に値”1”が設定されている。
0そうだね
プレイ済み
返信[4]
親投稿
NoB NoB777
なお、上記のとおり、壁設定はキャラ番号毎に設定されるため、同一キャラ番号でも位置によって壁設定の有無を付けることは不可能である。
0そうだね
プレイ済み
返信[5]
親投稿
NoB NoB777
上記訂正  誤:※1byte=32bit  正:※1要素=32bit=4byte
0そうだね
プレイ済み
返信[6]
親投稿
お役に立てて良かったです〜。構造はその通りですね。 アトリビュートはマップキャラの数が32×32個あって1キャラに対して1バイトが割り当てられてるので1024バイトになる感じですね。 またマップデータは1つが2バイトになってるんで、それがマップの広さが64×64なので1レイヤーにつき8192バイトと。 わかってると思っていますが補足してみました〜。 ちなみにアトリビュートは1バイト割り当てられてますがマップツールで使っているのは0か1だけなので、僕の作ったマップツールでは0〜255(1バイト)の値を自由に設定できるようにしてみました。ただまだあまり有効に利用する方法が見つかってない感じもあるんで、まあオマケみたいな感じですね〜…。
1そうだね
プレイ済み
返信[7]
親投稿
NoB NoB777
でんぺんさん、補足をありがとうございます。 自家製マップツールとは・・・すごい!
0そうだね
プレイ済み
返信[8]
親投稿
PUCHI-MAPというのを公開してます〜。 公式ツール互換あり(ただし上記のアトリビュートに2以上の数字を使ったりすると公式ツールの方ではエラーになります。1か0に戻せば読み込めます)で公式ツールより使いやすくなってると思うんで良かったら使ってみてくださいね〜。公式ツールでは出来ない64×64以外のマップサイズにすることも出来ますよ。
1そうだね
プレイ済み