プチコン3号 SmileBASIC コミュニティトピック受付中むー 3253master2017/06/18 23:20:08質問家具や壁の当たり判定家具や壁(外壁ではなく部屋を区切ってるやつ)の当たり判定を作りたく、ネットで調べてみたのですが正直よくわからなかったので、教えていただけるとありがたいです。1そうだね 5返信プレイ済み2017/11/03 17:23:05に取得
プチコン3号 SmileBASIC コミュニティ返信[1]親投稿スー thanks_0u02017/6/19 10:02基本的には外壁も家具なども同じで、 ・移動する前に、今から移動したいマスのチップをBGGETで取得 ・もし通れるチップなら移動、通れないチップなら向きを変えるだけ って感じです!(・u・) 応用で、BGの別レイヤーや配列、GRP領域などに当たり判定だけ書き込んでそれを調べる、っていう方法もあって、それはIFをチップ番号で細かく分けなくても良いメリットがあります。3そうだね プレイ済み2017/11/03 17:23:05に取得
プチコン3号 SmileBASIC コミュニティ返信[2]親投稿りきすけ rikisuke2017/6/19 11:32bganimなどで16ドットづつ画面を動かす場合、今現在進もうとする場所のbggetを取得して判断。ちなみに自分の作ってるアクションゲームでは、BG番号〇〇番以下は行けないBGというルールを作って判断させています。 例) blk=60 ブロックに指定してるBG番号 mvdx=0:mvdy=-1 移動方向 jdbg=bgget(0,x+8+mvdx*16,y+8+mvdy*16,1) 移動場所のbgget取得 if jdbg<blk then @cant_go 移動判定 1そうだね プレイ済み2017/11/03 17:23:05に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿りきすけ rikisuke2017/6/19 11:35上のコードだと60番にブロックのBG入ってるとすり抜けてしまいますね。 if jdbg<blk+1 then 〜 が正しいです。。0そうだね プレイ済み2017/11/03 17:23:05に取得
プチコン3号 SmileBASIC コミュニティ返信[4]親投稿りきすけ rikisuke2017/6/19 11:40部屋を区切ってるやつでしたね〜〜(^_^;)0そうだね プレイ済み2017/11/03 17:23:05に取得
プチコン3号 SmileBASIC コミュニティ返信[5]親投稿たんじぇ zmxtan2017/6/19 13:38移動しようとしてる場所が通れるか通れないか判定して、通れないなら移動できない、のつくりが基本ですが、 どの家具や壁が通れるか通れないかを決めるのはマップやシステムを作る人まかせなので、通れるか通れないかの情報をどこかに持つ必要があります。 マップを作るときに通れる通れないの情報を決めておく必要があるけど、これが人それぞれいろんなやり方があって、どれも間違いではないのです。 どれが通れるか通れないかを配列で全部持つのは結構大変なので、 スーさんのとおり、レイヤー0は通れる、レイヤー1は通れないマップを作っておいて、レイヤー1でBGGETしたときになにかあれば通れない判定が楽かもです。 マップに使うGRPのうち下半分(チップ512番以降)は通れないとか判定もあったりするけどRPGにはちょっと向かないかも。 (アクションゲームだとダメージ判定用とかはしご用とか判定をもっと細かくしたりとか)2そうだね プレイ済み2017/11/03 17:23:05に取得