投稿
スマイルツールのマップエディタで作ったファイルを読み込むサンプルです。 詳細はコメントで。
16そうだね
プレイ済み
返信[1]
親投稿
マップエディタのデータを読み込みたいもののプログラムからの使い方がわからないという声が多い(と思った)ので、シンプルなサンプルを作りました。 といってもASAさんも利用しているTINYさんのBGマップ読み込みプログラムを元に、出来るだけシンプルにしただけです。 7行目以降が関数になっているので、その部分をコピペして再利用出来ます。呼び出し方は4行目な感じです。
1そうだね
プレイ済み
返信[2]
親投稿
制限事項というか、このサンプルはマップデータの中身からBG構成に必要なものだけを抽出して再現しています。またBG形式には本来ヘッダやマップサイズなどの情報が含まれているのですが、スマイルツールではそれを変更出来ない仕様になってて実質固定なので、このプログラムではその部分は無視して固定サイズとして復元しています。(この辺の仕組みはTINYさんのものと同様です) またアトリビュート(移動不可能領域用のパーツにチェックできる機能)の部分も破棄しています。なのでシンプルにBGマップだけを扱うものとして利用してください。 一応そんな感じです。
0そうだね
プレイ済み
返信[3]
親投稿
けい kei0baisoku
わーい、助かりますーヽ(´∇`)ノ 短いから大体把握できたのですが………結構仕組み複雑ですね!? これ、自分でやってたらかなり苦戦してそうです………(´ω`;)
0そうだね
プレイ済み
返信[4]
親投稿
データ形式がちょっとややっこしいんですよね。一応解析はしたんですが意図がわかりにくい箇所もあるし…。 正直、TINYさんがかなりシンプルにしていたんで、ほとんどそのままになっちゃいました。ただコードを短くするためにさらにいじったぐらいですねー。 マップエディタがバージョンアップで変わるみたいな噂もあるし、実際どこまでこのプログラムが使えるかはわからないんですけどね。エディタがマップサイズに変更とかに対応してきたら使えなくなっちゃいますしね(^^;
0そうだね
プレイ済み
返信[5]
親投稿
けい kei0baisoku
3DSネイティブのBGファイルフォーマットそのままで、プチコンで使いたいところだけツールで対応してるような印象ですね。さすがにお手軽とは言いがたい……… ツールで使いやすくはなって欲しいですが、読み込み処理は基本変わらないですかね………(´ω`)
1そうだね
プレイ済み
返信[6]
親投稿
これをスクロールしたりとか、x座標、y座標をかえる方法とかありますか?
0そうだね
未プレイ
返信[7]
親投稿
BGツールで読み込むマップのサイズはマップエディタのサイズになるんで実際の画面より大きいです。なので、BGOFS命令で表示位置を変えてあげればスクロールしますよ。 ちなみにBGOFS命令はレイヤー毎だと思ったので、全部のレイヤーを動かしたい場合は全部の位置を変えないと上のレイヤーだけ動くみたいな事になっちゃうので注意してくださいね。
0そうだね
プレイ済み
返信[8]
親投稿
すいません、BGFOS命令ってこの場合はどうやるんですか?つまり、読み込んだデータをスクロールやBGFOS命令を出す方法・・・ 普通の場合は管理番号、x座標、y座標なんですけど・・・
0そうだね
未プレイ
返信[9]
親投稿
プチコンの命令表はちゃんと読んでますか? 知らない命令が出てきたときはちゃんと調べるクセをつけた方がいいですよー。 ちなみにこの場合、命令表だと、 BGOFS スクリーンの表示オフセットを変更 書式 BGOFS レイヤー, [X], [Y], [Z] 引数 レイヤー 0〜3 X,Y ±nnnn(ドット単位) Z 奥行方向の座標(奥:1024〜液晶面:0〜手前:-256) 戻り なし という感じになっています。[]の中身は省略も出来るんで奥行きとかは必要がなければ省略できます。 あとは実際に試してみた方がいいので、とりあえずサンプルで適当に大きなBGを表示したあとに、ダイレクトモードとかで、 BGOFS 0,30,30 とか適当に打って、その時の動作を確認しながら理解していくのがいいんじゃないかと思いますよ。
1そうだね
プレイ済み
返信[10]
親投稿
打ってみても、なんか方向が逆転してしまいます・・・BGLOAD L,M NEXT のあとにうったんですがw
0そうだね
未プレイ
返信[11]
親投稿
このプログラムの中にいれるわけじゃないですよー。 このプログラムはBGのデータを読み込むだけのサンプルなので。 まあしいて読み込んだあとになにかしたいんだとしたら、このサンプルだと5行目のENDの前にいれる(つまりENDをずらして間に入れる)感じになると思います。
0そうだね
プレイ済み
返信[12]
親投稿
まあテスト的にならその間にいれて動作をみるのはありかもですね。ただ方向が逆転すると言うことは、方向の指定がおかしい=符号(±)を逆にしてみる、とか色々試すことをした方がいいですよー
1そうだね
プレイ済み
返信[13]
親投稿
XSCREEN2でやったら、out of langeになってしまいます。どうすればいいですか?
0そうだね
未プレイ
返信[14]
親投稿
XSCREEN 2ということは両画面モードですね。 両画面の場合、スプライトとBGを上下にどのぐらい割り当てるかを決める必要があります。 スプライトは全部で512, BGは4枚なので、それぞれをどれだけ割り当てるか決めるわけです。 で、マップエディタはBG4枚に固定されているので、となると上か下、どちらかに割り当てる事になるんですが、例えば上画面にスプライトは半分の128、BGは4枚割り当てるとしたら、 XSCREEN 2,128,4 という感じに指定する事になります。これで余った分のスプライトの半分は下画面に割り当てられBGは上で使ってるんで下画面では使えません。 という感じの仕組みです。数値をどのぐらい割り当てるかなどは作りたいものの内容によって変えてください。
1そうだね
プレイ済み