コミュニティアイコン プチコン 非公式コミュニティ トピック

アバター
警視庁匿名係 ◆FS.2gmL1ZdkL
2019/6/14 13:20
質問
[プチコン4]旧BGとSPの当たり判定の付け方
現在見下ろし型のRPGを作っていて、部屋の壁に当たり判定を付けたいのですが、SPとBGとの当たり判定の付け方が分かりません。
CHKCHRで情報を取得する所までは分かったのですが、そこから先の当たり判定の付け方が試行錯誤しても全然分かりませんでした。
また、操作方法ですが、STICK命令でxyの情報を取得し、TOFSで動かす(SP位置は固定)という方法を取っています。
回答お願いします。

コメント

アバター
未熟マン 2019/6/14 16:56 ◆hU1OcdQEWi0y
自キャラがスプライト、背景がグラフィックで描かれている、という事ですか?
簡単な配色のマップならGPGET(x.y)でできると思います。
歩ける足元が単色か、障壁と判別つきやすいカラーだったらこれが一番楽ですね。

足元も壁も色々だった場合は、自分なら
グラフィックページの空ページに、マップの壁配置と同じ単色タイル(GFILL)を描いて、そちらでGPGETで判別します。

他の方の方法も是非聞いてみたいです。
アバター
ほしけん 2019/6/14 17:20 ◆BJ4kbE35MkgI
未熟マンさん、BG(テキストスクリーン)との当たり判定なのでGPGETではできないです

考え方としては、主人公が立っている位置が、BGの左から&上から何マス目かを計算する。CHKCHR() で指定するのは何マス目か、という指定ですので、計算したものをそこに使います

何マス目かの計算があっているのか不安なときは、その部分にTPUTなどで適当なチップを置いてみると、計算がずれていたときに目で確認できます

具体的な計算は…どう作っているか次第なので、ちょっと元のプログラムを見ないと出せないです
アバター
未熟マン 2019/6/14 17:38 ◆hU1OcdQEWi0y
ほしけんさんありがとうございます。
テキストスクリーンでの背景、というのが分かっておらず、すいませんフォロー助かりました。
アバター
でんぺん 2019/6/14 20:39 ◆HfSy5ayxtyTa
スプライトの座標はドットに対してBGはブロックのような大きさのテキスト座標もと言える感じになります。
なので基本的にはそのBGのサイズによって、ドットの座標を割ればBGの位置になるはずなので、その位置をCHKCHRすればいいことになりますね。
それでスプライトとBGが接触しているかはわかるので、あとは接触した時に動けなくしたりスプライトの座標を変更(調整)したりする感じになります。
アバター
ツララ 2019/6/14 23:30 ◆ArUdBYOYME1V
未熟マンさんの考え方を発展させて
当たり判定計算用の別データを作っちゃうのが手っ取り早いですね。
特定の命令しか使えないって思い込むと、自力で固定概念を壊せなくなったりしますし。
アバター
でんぺん 2019/6/14 23:45 ◆HfSy5ayxtyTa
あー、TOFSで動かしていたのか…。

ということは、スプライトの座標位置は固定なのでBGが動くということですよね?

考え方はスプライトと変わらないですがBGが動くことによってスプライトの位置が座標的にはどの辺りになるのかというのを計算する必要がありますね。

プラスマイナスの方向に気をつければそれほど難しくはならないとは思いますが慣れないと混乱するとも思うので、ほしけんさんのいうように目安となるBGやスプライトを置いてみたりPRINT文で座標を表示しておいてみたりするとわかりやすくなると思います。
アバター
警視庁匿名係 2019/6/15 13:16 ◆FS.2gmL1ZdkL
なるほど、CHKCHRの意味があまり良く分かっていませんでした。
まずは皆様に教えていただいた座標を計算する方法や別データを作るなど色々な方法を試して見ようと思います!
ありがとうございました!

コメントを書く

  • こちらは「プチコン3号」「プチコンBIG」など、プチコンシリーズに関する話題を扱ったコミュニティです
  • プチコンシリーズにまったく関係ない書き込みはご遠慮下さい。削除の対象となります
  • こちらにはその他のゲームや雑談のコミュニティはなく、作る予定もありません (ひとりで管理できないため)。ごめんなさい
  • ユーザー登録なしで書き込みができます
  • 秘密の合い言葉は成りすましの防止 (トリップ機能)、書き込みの編集時の本人認証に使用します
  • 秘密の合い言葉に他人に推測されやすい言葉、他サービスと同じパスワードは入力しないでください。
  • 書き込むと、投稿時に入力したお名前と秘密の暗号が記憶され、ログイン状態になります

- WEB PATIO -