投稿
クッキー askn-4108
キャラにブロックを置かせるプログラムにBGOFSをいれると置きたい場所とは違う場所にブロックがでてしまいますどうすればなおりますか?
5そうだね
プレイ済み
返信[1]
親投稿
クッキー askn-4108
これです
0そうだね
プレイ済み
返信[2]
親投稿
Lejenne roberingue2012
そもそも、bgキャラを任意の場所に置くのってBGOFSでしたっけ?? BGPUTでなくて??
0そうだね
プレイ済み
返信[3]
親投稿
Lejenne roberingue2012
もしくはスクロールしているから??
0そうだね
プレイ済み
返信[4]
親投稿
Lejenneさんの言うようにちょっと意味がわかりかねますね…。 BGOFSは表示(スクロール)位置が変わるだけなので置くときには関係ないですよ。 で、おそらくここからは予測ですが、BGOFSを使うとBGPUTを使ったときに思った場所に表示出来ない。みたいな事かなと思って書きます。 BGGETはスクロールした位置を基準に取得する便利な機能がありますが、BGPUTはありません。なのでBGPUTで配置したいときに画面がスクロールしていてそれに合わせたい場合は、スクロールした量も加味してBG座標を自分で求める必要があります。 多分そう言うことですか?
0そうだね
プレイ済み
返信[5]
親投稿
クッキー askn-4108
わかりずらいですよね公開キー教えますんでお願いします
0そうだね
プレイ済み
返信[6]
親投稿
クッキー askn-4108
4R2E2EA3
0そうだね
プレイ済み
返信[7]
親投稿
otta777 otta777a
BGOFSでオフセットを掛けると画面左上がBG画面のオフセットを 掛けた位置になります。BGOFS 0,64,32とするとBGレイヤー0は X座標64,Y座標32が左上になります。この状態の時に画面の 中央にBGを表示させようとBGPUT 0,192,112,33とすると 左上にずれた位置にBGが表示されたと思います。 BGレイヤーにオフセットを掛けた分、表示位置をずらして指定 しないと画面上では劣った位置には表示できません。 実際にBGを表示したい座標をX,Y BGOFSで指定したオフセット位置:OFSX,OFSY とした場合BGPUUT 0,X+OFSX DIV 16,Y+OFY DIV 16,33 とすればオフセットが掛かった状態でも位置がずれません。
0そうだね
プレイ済み
返信[8]
親投稿
otta777 otta777a
OSFX DIV 16としているのはBGOFSではドット単位、BGPUTでは BGチップ単位で座標を指定しているためです。 BGPUUTと記載してしまいましたがタイプミスです。 正しくはBGPUT 0,X+OFSX DIV 16,Y+OFY DIV 16,33
0そうだね
プレイ済み
返信[9]
親投稿
otta777 otta777a
前のコメントの1行目のOSFXの記載はOFSXの間違いです。 ミスばっかりですいません。
0そうだね
プレイ済み
返信[10]
親投稿
Smoothie ryukey-h
otta777さん>>ありがとうございます
0そうだね
プレイ済み