トピック
ネタバレ
Mr.ひろ☆ hiroto0120

『ゼルダメーカー(仮)』にて

画面をスクロールさせて、BGを配置しようとすると画像のようなエラーがでました。どうしたらいいですか?
0そうだね
プレイ済み
返信[1]
親投稿
ひろきち henahenachoco
BGPUTで配置できる範囲を超えた座標に配置しようとするとこのエラーがでます。 予めBGSCREEN命令を使って配置できる範囲を広げておく必要があります。
2そうだね
プレイ済み
返信[2]
親投稿
Mr.ひろ☆ hiroto0120
なるほど ソノハッソウハナカッタ
2そうだね
プレイ済み
返信[3]
親投稿
otta777 otta777a
BGPUT命令で指定できる範囲外の数値が指定されているために エラーが発生しています。 エラーが発生しない数値になるようにプログラムを修正して下さい。
1そうだね
プレイ済み
返信[4]
親投稿
Mr.ひろ☆ hiroto0120
………全然分からぬ
0そうだね
プレイ済み
返信[5]
親投稿
Mr.ひろ☆ hiroto0120
このプログラムにかいてくれませんか?
0そうだね
プレイ済み
返信[6]
親投稿
NN aA1NNNN
ファイル名まずく無いですか?
0そうだね
プレイ済み
返信[7]
親投稿
Mr.ひろ☆ hiroto0120
名前『MAKER』だけですし、SP、BGは多分大丈夫だと思います。
0そうだね
プレイ済み
返信[8]
親投稿
oo meidoin21
BGSCREENを使う方法はすでに挙げられているようなので、余計なお世話かもしれませんがあえて使わなくてもいい方法を…。 画像のプログラムはデータを入れる配列を用意して、その一部だけをBGに反映させています。 (画像のプログラムはあくまで参考程度に…)
0そうだね
プレイ済み
返信[9]
親投稿
BGSCREENはきちんと理解しましたか? なにも指定してない(デフォルト)だとBGの範囲は1画面分しか用意されないので、スクロールなどを利用するとBGの範囲外になります。なので広い範囲を使いたい場合は、事前にBGSCREENでサイズを指定しておく必要があります。 ただBGサイズを広げるとその分メモリも消費するので無制限に広くは出来ないので、どのぐらいのサイズを用意するかというのは考えて決める必要がありますね。 またooさんのやり方のようにBG自体のサイズは変えずに実現する方法もあるので、その辺は用途に応じて考えてみましょう。
0そうだね
プレイ済み
返信[10]
親投稿
otta777 otta777a
プログラムの中を見てみましたがBGのオフセット量の上限が指定されて いないためBGCORDE命令で座標変換をした結果がBGを置ける範囲を 超えた場合にOut of rangeになります。 変数XB,YBの値を制限するようにIF命令を追加して下さい。 153~156行目ですがXB,YBの値によってはエラーになります。 どういう意図でこの処理をしていますか?
0そうだね
プレイ済み
返信[11]
親投稿
Mr.ひろ☆ hiroto0120
十字ボタンで下画面をスクロールさせています。
0そうだね
プレイ済み
返信[12]
親投稿
otta777 otta777a
>変数XB,YBの値を制限するようにIF命令を追加して下さい。 BGのオフセット量を指定している変数はBX,BYですね。 変数名を間違えて投稿してしまいました。 変数BX,BYの値を制限するようにして下さい。 28~29行目で下限を指定しているので同じ要領で上限も指定して下さい。
0そうだね
プレイ済み
返信[13]
親投稿
Mr.ひろ☆ hiroto0120
あ、できました!! ありがとうございます!!
0そうだね
プレイ済み