でんぺんさんのサンプルはソース内のコメントも的確で、コードも理解し易いように配慮していただいているので良い教材だと思います。
私もマップエディタが出力するマップデータの構造について、サンプルを打ち込むことによって把握することができました。
0そうだね プレイ済み
グッジョブ (*^ー゚)b GJ!!
大きめのフォントを探していたところでした。
使わせていただきます。
0そうだね プレイ済み
既存のマップエディタを使いこなせるようになったら、でんぺんさんのツールも使わせていただきます。
公式のマップエディタよりも大きなマップが作成可能なのは良いですね!
0そうだね プレイ済み
でんぺんさん、補足をありがとうございます。
自家製マップツールとは・・・すごい!
0そうだね プレイ済み
上記訂正
誤:※1byte=32bit
正:※1要素=32bit=4byte
0そうだね プレイ済み
上記訂正
誤:※1byte=32bit
正:※1要素=32bit=4byte
0そうだね プレイ済み
なお、上記のとおり、壁設定はキャラ番号毎に設定されるため、同一キャラ番号でも位置によって壁設定の有無を付けることは不可能である。
0そうだね プレイ済み
なお、上記のとおり、壁設定はキャラ番号毎に設定されるため、同一キャラ番号でも位置によって壁設定の有無を付けることは不可能である。
0そうだね プレイ済み
でんぺんさん、とても参考になりました。
マップデータは全体で要素数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そうだね プレイ済み
でんぺんさん、とても参考になりました。
マップデータは全体で要素数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そうだね プレイ済み
でんぺんさん、いつもありがとうございます。
なるほど、このアトリビュートと思われる情報を読み取るにはマップデータの構造を把握する必要がありそうですね。
でんぺんさんのマップを使った大型サンプルを確認させていただきます。
0そうだね プレイ済み
質問です。
マップエディタの「A」で「×」を付けたBGキャラはどのように利用するのでしょうか?
BGGETで設定状態を取得できるのかと思いましたがうまくできませんでした。
0そうだね プレイ済み
サンプルコード「ジャンプクン」のマップデータ読み込みを解析しようとして理解できず挫折しかけましたが、TINYさんのコメント付きコードでなんとか持ち直せそうです。
3そうだね プレイ済み
でんぺんさん、ありがとうございます。
XONの存在を知っていれば違和感のあるコードではありますがスルーできた問題でした。勉強になりました!
0そうだね プレイ済み
ゆうたんさん、ありがとうございます。
なるほど!そもそも拡張スライドパッドはXONしなければいけないのですね。でもZRボタンのビットだけAND取っているのはやはり変だということも分かりました。ありがとうございます!
0そうだね プレイ済み
BUTTON()関数の仕様に関する質問になります。
BUTTON()では、bit0〜bit12に各ボタンが対応し、押されたbitが1となる仕様になります。
プチコン3号の作成元であるSmileBoom社が作成した「GAME3JUMP(ジャンプクン)」のコード内に下記のようなコードがあります。
BTN = BUTTON()
IF BTN AND &HFF0 THEN BREAK
上記は十字キー(bit0〜3)以外が押されたらループ制御を抜けるという意味のコードです。
■質問
BUTTON()はbit0〜bit12までの13桁あるため、判定に使用する16進の値は&H1FF0ではないでしょうか?
※論理演算に疎く、また、手元に拡張スライドパッドが無いため、実機確認できず質問させていただきました。
1そうだね プレイ済み