トピック
ユオ XJTZFZ

大きめのブロックの判定

16ドットのBGならBGGETで判定してましたが。 20ドットくらいだとどうやって判定するんですかねー>_< いちから当たり判定を作る感じだったり…?せめて床として乗れるようにはしたい…
3そうだね
プレイ済み
返信[1]
親投稿
DieMatsmot DieMatsmot
【質問】そもそも20ドットのBGとは何か
2そうだね
プレイ済み
返信[2]
親投稿
DieMatsmot DieMatsmot
SPを使って床を作るのであればSPHIT系の命令で当たり判定を取得。 でも、BGの使い方を理解してるのであればBGを並べて2-3倍の大きさのブロックにするとかじゃダメ...?
1そうだね
プレイ済み
返信[3]
親投稿
だにえる haru2016nen
20ドットのBGが 16ドットのBGを1.25倍率で 表示したものだとすれば BGGETの判定もその倍率に 合わせればいけるのでは。
5そうだね
プレイ済み
返信[4]
親投稿
キルル2 kiruru2
BGのサイズはBGSCREENで変更できますが、それだと8、16、32のどれかしか選べません 独自の方法で20ドットのBGを配置しているのであれば、それに合わせたえ方法でBGを取得する必要があります
1そうだね
プレイ済み
返信[5]
親投稿
ユオ XJTZFZ
うーん…20ドットのBGと言うより、画面写真の感じではみ出してるのを並べただけですかねー… SPで作るか、倍率を変えてやってみようと思います。 ありがとうございましたm(_ _)m
2そうだね
プレイ済み
返信[6]
親投稿
GRS grs8001
足下のBGに合わせてスプライトの位置を調整するだけでできるよ~ サンプルの画面は、横方向に1列にBGを並べただけ(9行目) BGは2種類あり見かけ上、高低差がある(12行目) 人はBGの上を横方向に移動してるだけ(15行目) 移動するとき足下のBGを確認して、低いBGの場合スプライトの座標を下げるだけ。
1そうだね
プレイ済み
返信[7]
親投稿
GRS grs8001
LD:左足もとのBGを確認(RDは右) 両方の足下が低いBGの場合スプライト位置を下げる(18行目) 結局、16-19行目が位置調整してるだけだから難しい事はしていないよ 20-22行目はBGCHECKの確認位置を視覚化してるだけなので意味は無い 23行目のVSYNC 4 とかすると、ゆっくり観察できる ああ、2行目は意味がなかったね(^^; BG0は見易いようにしただけなので意味はありません
1そうだね
プレイ済み
返信[8]
親投稿
GRS grs8001
BGを16*16ドットの固まりとしか考えられないと思考が停止しちゃう~ BGの画像が半分に見えるなら、スプライトをめり込ます感じで移動させればOK この手の手法は、仮想画面的な考えがわかんないと難しいけど マスターすればRPGやスクロールシューティング等の広大なMAP操作にも応用可能。 ドンキーコングの1面みたいな坂道もこの方式でプログラムを書けば、マリオや樽の移動も比較的簡単に表現できて計算も楽になるのでお徳なやり方ですよ。 (ドンキーはハシゴの処理がちとメンドクサイ)
3そうだね
プレイ済み
返信[9]
親投稿
キルル2 kiruru2
それなら、足元のBGに合わせて、BG画面の色をGSPOITで取得して判定した方が良いと思います この方法なら複雑な形をしていても簡単に対応できる上、BGの種類が増えてもプログラムは1行も変える必要がありません ただし、GSPOITを使うにはグラフィックの操作ページをBGのページに合わせる必要があるため、そこがネックとなるでしょう
1そうだね
プレイ済み
返信[10]
親投稿
ユオ XJTZFZ
おーサンプルありがたい…! 頑張っていろいろ試してみます!
0そうだね
プレイ済み