プレイ日記
スー thanks_0u0
今、RPGみたいな移動とSP同士の当たり判定を作ったのですが、何だかやたら面倒な方法な気がしています(・д・) 一応思った通りに動いているのでオッケーなのですけれど、一般的にはどう判定するのか気になっています。もしよかったら、どなたか教えてくださったら嬉しいです( ´ u ` )
5そうだね
プレイ済み
返信[1]
親投稿
スー thanks_0u0
一応今の方法は、移動はSPANIMの"XY+"で、SPCOLを調整しながらSPHITSPで当たり判定を取る、っていう感じです。 ボタンを押すと、まず移動しようとしている方向にSPCOLを伸ばして、別のSPが居ないかを確認します。 SPが居なくてマップ端でもない場合、移動中に元いたマスに当たり判定が残らないようにSPCOLを正面1x16dotだけに減らして、移動を始めます。 1マス分の移動が終わるとSPCOLを16x16dotの大きさに戻します。 動くのですけれど、なんだかSPCOLの調整が面倒な感じです( ´・ω・` ) 最初はFORで各SPの座標が入った配列を見ようと思ったのですが、全然近くに居ないSPの座標まで見るから無駄が多そうだし、何とか近くに居るSPだけチェック出来ないかなぁ、って思って上の面倒な方法になりました(・ω・)
0そうだね
プレイ済み
返信[2]
親投稿
ねこはち neko80001
BGが1枚減ってもいいのなら、表示用BGと障害物判定用BGを分けてやれば動くキャラクタ毎に1回ずつの判定で済みますよ~。 移動開始と同時に移動先に透明1番を設置、同時に現在の位置に透明0番を設置。 これでNPCキャラクタ同士が同じ座標を目指す事が無くなります。
1そうだね
プレイ済み
返信[3]
親投稿
ねこはち neko80001
NPCキャラクタってなんだよ…Cとキャラがかぶってんじゃん! ちょっと雑木林で転がってくるわ…。
0そうだね
プレイ済み
返信[4]
親投稿
スー thanks_0u0
ありがとうございます!( ´ v ` )ノ 確かにBGを使えばマス単位で管理できますね、盲点でした! あっ、これって配列でも同じことが出来そうかも?(・ω・) 私の方法でも、今SPCOLを16x16に戻す必要が無いことに気がついて、ちょっとだけスッキリしました( ´ u ` ) まだ色々やり方ありそう!
1そうだね
プレイ済み
返信[5]
親投稿
スー thanks_0u0
よく「頭が頭痛で痛い!」とか言いますし、何も問題がノープロブレムです!( `・ω・´ )
0そうだね
プレイ済み
返信[6]
親投稿
ねこはち neko80001
そうです。普通は配列でやります。 BGを一枚消費する利点はスクロールに対応するときに、実座標と表示座標の違いを意識しなくても良いって部分です。 プチコン3号は使い方を捻れば何かと便利な命令が多いです。
1そうだね
プレイ済み
返信[7]
親投稿
スー thanks_0u0
なるほどー、スクロール対応まで見越して!ありがとうございます、勉強になります!( ´ ▽ ` )ノ BGを沢山使いたい時は配列も良さそうですね!(・u・)
1そうだね
プレイ済み
返信[8]
親投稿
スー thanks_0u0
なんか変だと思っていた挙動が解決しましたので、ご報告。 SPANIMとSPHITSPを使って当たり判定を取るときにはSPCOLVECに注意です。 明示的に0にしないと勝手に当たり判定が増やされます(・д・)
0そうだね
プレイ済み