トピック
こう subwars

質問:BGのスクロール

画像の上のプロジェクトです スクロールさせるとBGがスカスカになったり 左に進めなかったりします どう修正すれば良いでしょうか?
1そうだね
プレイ済み
返信[1]
親投稿
ほしけん Hosiken
スカスカになる原因 48行目で、BGの続きを描く条件 SX MOD 16==0 がよくないです。移動量が1よりも大きい場合、16で割った余りが0にならないことがあります。 ぶっちゃけ、今は処理に余裕があり、BGPUTはとても速いので、このIFは無くても問題ありません。 もし無駄な BGPUT を省きたい場合は、48行目を消してこんな感じにします。 MAPX=FLOOR(SX/16) ' マップのマス目 IF MAPX!=OLDMAPX THEN ' 前とマス目が違う  OLDMAPX=MAPX ' 今のマス目を「前のマス目」にする  あとは49行目以降と同じでBGを描きます 左に進めない原因 SXがマイナスになったとき、エラーの出ている53行目でXもマイナスになるからです。対処方法は根本的に作りを変えるしかないかな…
0そうだね
プレイ済み
返信[2]
親投稿
こう subwars
根本的にか…… BGの扱いに慣れていないので、ムックの サンプルを使ったのですが…… 全包囲にスクロールすることが 出来るようにするにはどうしたら良いですか?
0そうだね
プレイ済み
返信[3]
親投稿
ほしけん Hosiken
無限スクロールでなければ、BGを広めに確保すればいいです。 どこまでスクロールしても同じパーツが並んでるだけだったら、 BGOFS 0,X MOD 16,Y MOD 16 でうまくいきますw 無限スクロールに近いなら、思いつく方法はあるんですが Miiverseで文章で説明するのが難しい… リクエストがあればサンプル作ります。
0そうだね
プレイ済み
返信[4]
親投稿
こう subwars
かなり…というか出来る限り広くしたいです 公開しているもう一本のほうから持ってこよう かと思いましたが、根幹部分の大半を 支援してくださる方に任せていたので 結局BGは苦手なまま…… もしよろしければサンプルをお願いします
0そうだね
プレイ済み
返信[5]
親投稿
こう subwars
読み間違えました 無限に近い方法もあるなら、現状は それが最善かな……… 所々に島や敵を配置したいけど、それだと したら有限マップの方が良いのだろうか……
0そうだね
プレイ済み
返信[6]
親投稿
こう subwars
追記 聞き覚えのある名前だなぁなんて思ってたら よく考えたらwikiの管理人さんでしたね… 有り難く1ページ使わせて頂いてます
1そうだね
プレイ済み
返信[7]
親投稿
ほしけん Hosiken
ゴリ押し的なサンプルを作ってみました。RE24N2KE 1000×1000マスの世界を動き回れます。 ここでは1画面分+1マス幅だけのBGを確保して 1マス分スクロールするたびに全マスを書き換えてます。 プチコン3号の処理が早いので、シンプルにうまくいきます。 BGを左右2画面分用意して、左半分と右半分に同じチップを置いて、擬似的に無限スクロールするというアイディアもあります。完成したらうまくいくと思うのですが、やってみたところ案外面倒くさくてサンプルという割にはわかりにくくなりそうなので、一旦作るのをやめました。 横スクロールだけなら、そのままBGSCREENで広げるだけでもそれなりの広さを確保できるはずなので、そのほうが一番シンプルにおさまりそうだと思ってます。 あっ、あと、Wikiをご利用頂きありがとうございます。
1そうだね
プレイ済み
返信[8]
親投稿
こう subwars
wikiで複数同じページがあって混乱中 1000×1000かぁ・・・ 多分それだけあれば十分だと思います。 多分。
0そうだね
プレイ済み
返信[9]
親投稿
ほしけん Hosiken
広さの縦横が違うとエラーになるので ちょっと修正しました。B2EXNE8V 配列を確保できる限りの広さにできるので ベタにやっても100万マス分の広さにいけます。 (それだけでメモリを使い果たします) この潜水艦のゲームはは横長マップだと思うので 縦が100マスだと横10000マスでもいけます。 全マス書き換えてるのが処理速度的に問題になったら BGCOPYを使ってBGPUTの回数を減らす余地もあります。
0そうだね
プレイ済み
返信[10]
親投稿
こう subwars
ちなみに これにわらわら湧いてくる敵機やら 敵弾やら入れても大丈夫なもんでしょうか? RTSものを作ろうと思ったんですが BG習得してないと思いの外難しいですね……
0そうだね
プレイ済み
返信[11]
親投稿
こう subwars
自作SPでやってみようとしたら……
0そうだね
プレイ済み
返信[12]
親投稿
ほしけん Hosiken
大丈夫だと思いますよ SPOFS 0,SX-キャラのX,SY-キャラのY とすれば全部スクロールに付いてきます 何も無いところから沸くのであれば、 沸かせる基準をゲーム的に調整するほうがずっと難しそうです
0そうだね
プレイ済み
返信[13]
親投稿
ほしけん Hosiken
Out of memory は何回か実行してると起きるみたいです。 セーブして再起動するとまた動くと思います。 マップを狭くするか、配列変数を工夫して節約するかになると思います
0そうだね
プレイ済み
返信[14]
親投稿
こう subwars
ちなみに無限スクロールだとどうなりますか? 無限にして低乱で回復ポイント湧かせるのも それはそれで良いなあ……なんて。 本人の方針が定まってません……
0そうだね
プレイ済み
返信[15]
親投稿
ほしけん Hosiken
どういうゲームかで大きく変わってきますし、 これに決まった答えはないと思います。 自分だったらとりあえず思いつきで作って とりあえず動かしてから調整します。 (だからなかなかゲームが完成しないw)
0そうだね
プレイ済み
返信[16]
親投稿
こう subwars
なんか違うけどそれっぽいものが出来ました BGの継ぎ足しが出来てない…
0そうだね
プレイ済み
返信[17]
親投稿
こう subwars
若干進化したけどBGの動きが何か違う……
0そうだね
プレイ済み
返信[18]
親投稿
こう subwars
無限スクロールに決定しました 一旦ここを閉じて、コミュで聞いてみます ご協力ありがとうございました!
0そうだね
プレイ済み